Wie kann ich numpy auf Python 3.1 installieren?

12

Ich habe Ubuntu 10.10 Server auf EC2. Ich habe Python 3.1 installiert und möchte nun NumPy darauf installieren. Wie mache ich es? Ich habe versucht, easy_install-3.1 numpyaber diesen Fehler bekommen:

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
Ram Rachum
quelle

Antworten:

4

Der Code aus diesem Numpy- Zweig scheint einen Fix zu enthalten.
Hier ist ein Ausschnitt und die relevanten Kommentare:

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

Wenn Sie dies jedoch nicht möchten, versuchen Sie es python3.1 setup.py installin dem Verzeichnis, in das Sie numpy extrahiert haben. Dadurch wird das in den Codekommentaren beschriebene Problem easy_install vermieden.

belacqua
quelle
2
Ich habe gerade die offizielle Version 1.6.1 heruntergeladen, sie lässt sich für Python 3.2 über setup.py installieren, kein Problem. sourceforge.net/projects/numpy/files/NumPy/1.6.1
hwjp
-4

Versuchen Sie diesen Befehl, um numpy zu installieren

sudo apt-get install python-numpy
ishtiyaq husain
quelle
2
das würde es nicht für Python 3 installieren, oder?
hwjp