Eu herdei um projeto em um servidor hospedado e estou tentando instalar e importar o numpy e o nltk no projeto. O sistema operacional é centésimo 5.10 e o aplicativo da web usa o web.py. Existem duas versões do python instaladas na caixa, tanto o python 2.4 como o python 3.3. O padrão está apontando para a versão 2.4, "python -V" = python 2.4.3. Eventualmente eu vou atualizar e usar o python 3.3, ir em direção ao Django, etc, mas por enquanto estou preso com essa configuração. Eu tenho pesquisado um pouco sobre como fazer isso. De minha pesquisa eu li sobre o uso de pip para instalar numpy e depois nltk. No diretório python2.4, eu pude usar o easy_install para instalar o pip-1.4.1-py2.4.egg. Quando tento usar o pip-2.4 para instalar qualquer coisa, recebo um erro de sintaxe no arquivo pip. Veja abaixo ...
$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
Fazendo algumas pesquisas, parece que esse erro vem do fato de eu ter várias instalações em python. Isso me levou a instalar o virtualenv-1.10.1-py2.4.egg no python2.4. Mas quando tento executar virtualenv eu recebo o seguinte erro.
ERROR: this script requires Python 2.6 or greater.
Eu também tentei instalar o numpy usando a instalação fácil do python2.4, mas também com erros.
$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
Novamente, não quero atualizar ou alterar a versão do python. No diretório python3.3, consegui executar o virtualenv com sucesso. Eu estava esperando que isso corrigisse qualquer problema de dependência que eu poderia estar tendo por causa das várias instalações, mas isso não aconteceu. Meu plano agora é tentar obter virtualenv para executar com êxito a versão python2.4. Minha esperança é que, se eu puder configurar ambientes virtuais para ambas as versões do python, isso resolverá o problema. Mas como você pode ver, não consigo fazer o virtualenv em python2.4 rodar com sucesso. Abaixo estão mais algumas informações sobre o que está em cada diretório 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
Há muitas coisas por aí e estou pesquisando há algum tempo. Qualquer ajuda é muito apreciada! Obrigado!