Tentando instalar o numpy, o nltk para o python 2.4 no CentOs 5.10 com várias versões do python instalado - python 2.4 e python 3.3

0

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!

    
por user2743 06.11.2013 / 05:25

1 resposta

1

Você tem vários problemas, primeiramente o python 2.4 não sendo mais suportado por bibliotecas recentes (versões de).

Você precisa se apossar do virtualenv 1.7.2 ( desde que o suporte de queda de 1.8 para 2.4 )

Eu não tenho certeza se você pode fazer o salto de 2.4 para 3.3 sem problemas, o código atual com o qual você trabalha (não o material de terceiros) precisará ser adaptado. Eu pelo menos consideraria fazer o passo intermediário de usar o Python 2.7. É compatível com o 2.4 e tem muitos dos recursos 3.3, bem como uma biblioteca padrão mais compatível (com 3.3).

O pacote seis pode ser útil, além da ferramenta 2to3 que vem com o python.

    
por 06.11.2013 / 05:55