我在 EC2 上有 Ubuntu 10.10 服务器。我安装了 Python 3.1,现在我想在其上安装 NumPy。我该怎么做?我试过了,easy_install-3.1 numpy
但出现了这个错误:
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
答案1
代码来自这个分支numpy 似乎包含一个修复程序。
以下是代码片段和相关注释:
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
但是,如果您不想这样做,请尝试python3.1 setup.py install
在提取 numpy 的目录中进行操作。这样可以避免代码注释中描述的 easy_install 问题。
答案2
尝试这个命令来安装 numpy
sudo apt-get install python-numpy
答案3
因为 NumPy 不适用于 Python 3.x,与许多其他库一样