ホスティングサーバーからプロジェクトを継承し、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ツールに加えて役に立ちます。