複数のバージョンのPythonがインストールされているCentOs 5.10では、Python 2.4 - Python 2.4およびPython 3.3にnumpy、nltkをインストールしようとしています。

複数のバージョンのPythonがインストールされているCentOs 5.10では、Python 2.4 - Python 2.4およびPython 3.3にnumpy、nltkをインストールしようとしています。

ホスティングサーバーからプロジェクトを継承し、numpyとnltkをインストールしてプロジェクトにインポートしようとしています。オペレーティングシステムはcentOs 5.10で、Webアプリケーションはweb.pyを使用します。ボックスには、Python 2.4とPython 3.3の2つのバージョンのPythonがインストールされています。デフォルトはバージョン2.4、「python -V」= python 2.4.3を指します。結局、私はアップグレードしてPython 3.3を使用し、Djangoなどに移動する予定ですが、今はこの設定に固執しています。私はこれを行う方法をしばらく研究してきました。私の研究では、pipとnltkを使用してnumpyをインストールする方法を読みました。 python2.4ディレクトリからeasy_installを使用してpip-1.4.1-py2.4.eggをインストールできます。 pip-2.4を使用して何かをインストールしようとすると、pipファイルに構文エラーが発生します。以下を参照してください...

$pip-2.4 numpy

File "/home/slrp/bin/pip-2.4", line 7, in ?
sys.exit(
File "/usr/lib/python2.4/site-packages/pkg_resources.py", line 236, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/usr/lib/python2.4/site-packages/pkg_resources.py", line 2097, in load_entry_point
return ep.load()
File "/usr/lib/python2.4/site-packages/pkg_resources.py", line 1830, in load
entry = __import__(self.module_name, globals(),globals(), ['__name__'])
File "/home/slrp/lib/python2.4/pip-1.4.1-py2.4.egg/pip/__init__.py", line 10, in ?
from pip.util import get_installed_distributions, get_prog
File "/home/slrp/lib/python2.4/pip-1.4.1-py2.4.egg/pip/util.py", line 17, in ?
from pip.vendor.distlib import version
File "/home/slrp/lib/python2.4/pip-1.4.1-py2.4.egg/pip/vendor/__init__.py", line 8
from __future__ import absolute_import
SyntaxError: from __future__ imports must occur at the beginning of the file

私はいくつかの調査をしましたが、このエラーは複数のPythonをインストールしたために発生したようです。これにより、python2.4にvirtualenv-1.10.1-py2.4.eggがインストールされました。ただし、virtualenvを実行しようとすると、次のエラーが発生します。

ERROR: this script requires Python 2.6 or greater.

また、python2.4の簡単インストールを使用してnumpyをインストールしようとしましたが、エラーも発生しました。

  $easy_install-2.4 numpy

  File "/usr/bin/easy_install-2.4", line 7, in ?
  sys.exit(
  File "/usr/lib/python2.4/site-packages/setuptools/command/easy_install.py", line 1670, in main
  with_ei_usage(lambda:
  File "/usr/lib/python2.4/site-packages/setuptools/command/easy_install.py", line 1659, in with_ei_usage
  return f()
  File "/usr/lib/python2.4/site-packages/setuptools/command/easy_install.py", line 1674, in <lambda>
  distclass=DistributionWithoutHelpCommands, **kw
  File "/usr/lib/python2.4/distutils/core.py", line 149, in setup
  dist.run_commands()
  File "/usr/lib/python2.4/distutils/dist.py", line 946, in run_commands
  self.run_command(cmd)
  File "/usr/lib/python2.4/distutils/dist.py", line 966, in run_command
  cmd_obj.run()
  File "/usr/lib/python2.4/site-packages/setuptools/command/easy_install.py", line 211, in run
  self.easy_install(spec, not self.no_deps)
  File "/usr/lib/python2.4/site-packages/setuptools/command/easy_install.py", line 446, in easy_install
  return self.install_item(spec, dist.location, tmpdir, deps)
  File "/usr/lib/python2.4/site-packages/setuptools/command/easy_install.py", line 471, in install_item
  dists = self.install_eggs(spec, download, tmpdir)
  File "/usr/lib/python2.4/site-packages/setuptools/command/easy_install.py", line 655, in install_eggs
  return self.build_and_install(setup_script, setup_base)
  File "/usr/lib/python2.4/site-packages/setuptools/command/easy_install.py", line 930, in build_and_install
  self.run_setup(setup_script, setup_base, args)
  File "/usr/lib/python2.4/site-packages/setuptools/command/easy_install.py", line 919, in run_setup
  run_setup(setup_script, args)
  File "/usr/lib/python2.4/site-packages/setuptools/sandbox.py", line 26, in run_setup
  DirectorySandbox(setup_dir).run(
  File "/usr/lib/python2.4/site-packages/setuptools/sandbox.py", line 63, in run
  return func()
  File "/usr/lib/python2.4/site-packages/setuptools/sandbox.py", line 29, in <lambda>
  {'__file__':setup_script, '__name__':'__main__'}
  File "setup.py", line 16
  from __future__ import division, print_function
  SyntaxError: future feature print_function is not defined

繰り返しますが、私はPythonのバージョンをアップグレードしたり変更したくありません。 python3.3ディレクトリでvirtualenvを正常に実行できます。このようにして、複数のインストールによって引き起こされる可能性のある依存関係の問題が解決されることを望みましたが、そうではありません。私の現在の計画は、virtualenvにpython2.4バージョンを正常に実行させることです。両方のバージョンのPythonに仮想環境を設定できる場合は、問題が解決することを願っています。しかし、ご覧のとおり、Python2.4ではvirtualenvを正常に実行できません。各pythonディレクトリの内容に関する詳細情報は次のとおりです。

[user@server python3.3]$ ls
easy-install.pth  nltk-2.0.4-py3.3.egg  numpy-1.8.0-py3.3.egg-info  PyYAML-3.10-py3.3-linux-i686.egg
ENV               numpy                 pip-1.4.1-py3.3.egg         virtualenv-1.10.1-py3.3.egg


[user@server python2.4]$ ls
easy-install.pth  git_remote_helpers  MySQL_python-1.2.3c1-py2.4-linux-i686.egg  pip-1.4.1-py2.4.egg  virtualenv-1.10.1-py2.4.egg  web

私がしばらく調べてみた内容がたくさんあります。どんな助けでも大変感謝します!ありがとうございます!

答え1

いくつかの問題があります。まず、最近のライブラリ(バージョン)はPython 2.4をサポートしなくなりました。

virtualenv 1.7.2(2.4 は 1.8 以降サポートされなくなりました。)

問題なく2.4から3.3に移動できるかどうかはわかりません。使用する実際のコード(第三者コードではない)を調整する必要があります。少なくとも中間段階でPython 2.7を使用することを考えてみましょう。これは2.4と互換性があり、多くの3.3機能とより互換性のある(3.3)標準ライブラリを備えています。

コンボPythonに付属の2to3ツールに加えて役に立ちます。

関連情報