J'ai un serveur Ubuntu 10.10 sur EC2. J'ai installé Python 3.1, et je souhaite maintenant y installer NumPy. Comment fait-on ça? J'ai essayé easy_install-3.1 numpy
mais j'ai eu cette erreur:
RefactoringTool: Refactored /tmp/easy_install-MiUli2/numpy-1.5.1/build/py3k/numpy/core/defchararray.py
RefactoringTool: Files that were modified:
RefactoringTool: /tmp/easy_install-MiUli2/numpy-1.5.1/build/py3k/numpy/compat/py3k.py
RefactoringTool: /tmp/easy_install-MiUli2/numpy-1.5.1/build/py3k/numpy/core/defchararray.py
Running from numpy source directory.Traceback (most recent call last):
File "/usr/local/bin/easy_install-3.1", line 9, in <module>
load_entry_point('distribute==0.6.14', 'console_scripts', 'easy_install-3.1')()
File "/usr/local/lib/python3.1/dist-packages/distribute-0.6.14-py3.1.Egg/setuptools/command/easy_install.py", line 1855, in main
with_ei_usage(lambda:
File "/usr/local/lib/python3.1/dist-packages/distribute-0.6.14-py3.1.Egg/setuptools/command/easy_install.py", line 1836, in with_ei_usage
return f()
File "/usr/local/lib/python3.1/dist-packages/distribute-0.6.14-py3.1.Egg/setuptools/command/easy_install.py", line 1859, in <lambda>
distclass=DistributionWithoutHelpCommands, **kw
File "/usr/lib/python3.1/distutils/core.py", line 149, in setup
dist.run_commands()
File "/usr/lib/python3.1/distutils/dist.py", line 919, in run_commands
self.run_command(cmd)
File "/usr/lib/python3.1/distutils/dist.py", line 938, in run_command
cmd_obj.run()
File "/usr/local/lib/python3.1/dist-packages/distribute-0.6.14-py3.1.Egg/setuptools/command/easy_install.py", line 342, in run
self.easy_install(spec, not self.no_deps)
File "/usr/local/lib/python3.1/dist-packages/distribute-0.6.14-py3.1.Egg/setuptools/command/easy_install.py", line 582, in easy_install
return self.install_item(spec, dist.location, tmpdir, deps)
File "/usr/local/lib/python3.1/dist-packages/distribute-0.6.14-py3.1.Egg/setuptools/command/easy_install.py", line 612, in install_item
dists = self.install_eggs(spec, download, tmpdir)
File "/usr/local/lib/python3.1/dist-packages/distribute-0.6.14-py3.1.Egg/setuptools/command/easy_install.py", line 802, in install_eggs
return self.build_and_install(setup_script, setup_base)
File "/usr/local/lib/python3.1/dist-packages/distribute-0.6.14-py3.1.Egg/setuptools/command/easy_install.py", line 1079, in build_and_install
self.run_setup(setup_script, setup_base, args)
File "/usr/local/lib/python3.1/dist-packages/distribute-0.6.14-py3.1.Egg/setuptools/command/easy_install.py", line 1068, in run_setup
run_setup(setup_script, args)
File "/usr/local/lib/python3.1/dist-packages/distribute-0.6.14-py3.1.Egg/setuptools/sandbox.py", line 30, in run_setup
lambda: exec(compile(open(
File "/usr/local/lib/python3.1/dist-packages/distribute-0.6.14-py3.1.Egg/setuptools/sandbox.py", line 71, in run
return func()
File "/usr/local/lib/python3.1/dist-packages/distribute-0.6.14-py3.1.Egg/setuptools/sandbox.py", line 33, in <lambda>
{'__file__':setup_script, '__name__':'__main__'})
File "setup.py", line 211, in <module>
File "setup.py", line 204, in setup_package
File "/tmp/easy_install-MiUli2/numpy-1.5.1/build/py3k/numpy/distutils/core.py", line 152, in setup
File "setup.py", line 151, in configuration
File "/tmp/easy_install-MiUli2/numpy-1.5.1/build/py3k/numpy/distutils/misc_util.py", line 972, in add_subpackage
File "/tmp/easy_install-MiUli2/numpy-1.5.1/build/py3k/numpy/distutils/misc_util.py", line 941, in get_subpackage
File "/tmp/easy_install-MiUli2/numpy-1.5.1/build/py3k/numpy/distutils/misc_util.py", line 878, in _get_configuration_from_setup_py
File "numpy/setup.py", line 5, in configuration
File "/tmp/easy_install-MiUli2/numpy-1.5.1/build/py3k/numpy/distutils/misc_util.py", line 713, in __init__
ValueError: 'build/py3k/numpy' is not a directory
Le code de cette branche de numpy semble inclure un correctif.
Voici un extrait et les commentaires pertinents:
643 # XXX Hack to get numpy installable with easy_install.
644 # The problem is easy_install runs it's own setup(), which
645 # sets up distutils.core._setup_distribution. However,
646 # when our setup() runs, that gets overwritten and lost.
647 # We can't use isinstance, as the DistributionWithoutHelpCommands
648 # class is local to a function in setuptools.command.easy_install
649 if dist is not None and \
650 repr(dist).find('DistributionWithoutHelpCommands') != -1:
651 return None
652 return dist
Cependant, si vous ne voulez pas faire cela, essayez python3.1 setup.py install
dans le répertoire où vous avez extrait numpy. Cela évite le problème easy_install décrit dans les commentaires de code.