在Mac 10.8.2上安装Numpy

时间:2012-10-28 06:42:20

标签: python numpy osx-mountain-lion

我在MacOS 10.8.2上运行python 2.6,并尝试安装Numpy以使用NLTK。 我已经看过下面突出显示的几种方法,但是我还没有安装包的运气。

  1. 我已根据this建议安装了xcode,但这没有解决任何问题。

  2. 我尝试building directly,使用

    python setup.py build --fcompiler=gnu95
    

    返回以下消息

    RuntimeError: Broken toolchain: cannot link a simple C program
    
  3. 直接安装,我从here下载了dmg文件。直接解压缩文件时,numpy会抱怨它需要安装Python 2.6或更高版本,因此也会失败。

    我在某处看到MacOS附带Apple版的Python,我想避免使用它;我已经安装了Eclipse& PyDev,并且相信我没有使用Apple版本,但有没有办法确认这是真的并且numpy正在安装在'正确'版本的Python上?

  4. 当我尝试运行时

    sudo easy_install numpy

    我得到以下输出。最初我认为它与找不到的C / Fortran编译器有关,但我在直接构建它时安装了gfortran,所以也许问题就是其他问题......我无法诊断问题看一下消息的其余部分。

  5. 是否有人能够指出一些确定的内容可以帮助我在所有这些之后安装numpy?什么 - 如果有的话 - 到目前为止我所尝试的是错误的?

    提前谦卑地谢谢你!

    Searching for numpy
    Reading http://pypi.python.org/simple/numpy/
    Reading http://numpy.scipy.org
    Reading http://sourceforge.net/project/showfiles.php?group_id=1369&package_id=175103
    Reading http://numeric.scipy.org
    Best match: numpy 1.6.2
    Downloading http://pypi.python.org/packages/source/n/numpy/numpy-1.6.2.zip#md5=7e13c931985f90efcfa0408f845d6fee
    Processing numpy-1.6.2.zip
    Running numpy-1.6.2/setup.py -q bdist_egg --dist-dir /tmp/easy_install-6DObmd/numpy-1.6.2/egg-dist-tmp-KMbGBl
    Running from numpy source directory.non-existing path in '/private/tmp/easy_install-6DObmd/numpy-1.6.2/numpy/distutils': 'site.cfg'
    /bin/sh: svnversion: command not found
    /bin/sh: svnversion: command not found
    Could not locate executable f95
    Could not locate executable f90
    Could not locate executable f77
    Could not locate executable xlf90
    Could not locate executable xlf
    Could not locate executable ifort
    Could not locate executable ifc
    Could not locate executable g77
    Found executable /usr/local/bin/gfortran
    sh: /usr/bin/gcc-4.2: No such file or directory
    sh: /usr/bin/gcc-4.2: No such file or directory
    Traceback (most recent call last):
      File "/opt/local/bin/easy_install", line 8, in <module>
        load_entry_point('setuptools==0.6c11', 'console_scripts', 'easy_install')()
      File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg/setuptools/command/easy_install.py", line 1712, in main
      File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg/setuptools/command/easy_install.py", line 1700, in with_ei_usage
      File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg/setuptools/command/easy_install.py", line 1716, in <lambda>
      File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/distutils/core.py", line 152, in setup
        dist.run_commands()
      File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/distutils/dist.py", line 987, in run_commands
        self.run_command(cmd)
      File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/distutils/dist.py", line 1007, in run_command
        cmd_obj.run()
      File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg/setuptools/command/easy_install.py", line 211, in run
      File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg/setuptools/command/easy_install.py", line 446, in easy_install
      File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg/setuptools/command/easy_install.py", line 476, in install_item
      File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg/setuptools/command/easy_install.py", line 655, in install_eggs
     File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg/setuptools/command/easy_install.py", line 930, in build_and_install
      File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg/setuptools/command/easy_install.py", line 919, in run_setup
      File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg/setuptools/sandbox.py", line 62, in run_setup
      File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg/setuptools/sandbox.py", line 105, in run
      File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg/setuptools/sandbox.py", line 64, in <lambda>
      File "setup.py", line 214, in <module>
      File "setup.py", line 207, in setup_package
      File "/tmp/easy_install-GH52RV/numpy-1.6.2/numpy/distutils/core.py", line 186, in setup
      File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/distutils/core.py", line 152, in setup
        dist.run_commands()
      File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/distutils/dist.py", line 987, in run_commands
        self.run_command(cmd)
      File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/distutils/dist.py", line 1007, in run_command
        cmd_obj.run()
      File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg/setuptools/command/bdist_egg.py", line 167, in run
      File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/distutils/cmd.py", line 333, in run_command
        self.distribution.run_command(command)
      File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/distutils/dist.py", line 1007, in run_command
        cmd_obj.run()
      File "/tmp/easy_install-GH52RV/numpy-1.6.2/numpy/distutils/command/egg_info.py", line 8, in run
      File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/distutils/cmd.py", line 333, in run_command
        self.distribution.run_command(command)
      File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/distutils/dist.py", line 1007, in run_command
        cmd_obj.run()
      File "/tmp/easy_install-GH52RV/numpy-1.6.2/numpy/distutils/command/build_src.py", line 152, in run
      File "/tmp/easy_install-GH52RV/numpy-1.6.2/numpy/distutils/command/build_src.py", line 163, in build_sources
      File "/tmp/easy_install-GH52RV/numpy-1.6.2/numpy/distutils/command/build_src.py", line 298, in build_library_sources
      File "/tmp/easy_install-GH52RV/numpy-1.6.2/numpy/distutils/command/build_src.py", line 385, in generate_sources
      File "/private/tmp/easy_install-GH52RV/numpy-1.6.2/numpy/core/setup.py", line 696, in get_mathlib_info
    RuntimeError: Broken toolchain: cannot link a simple C program
    /tmp/easy_install-GH52RV/numpy-1.6.2/numpy/distutils/misc_util.py:252: RuntimeWarning: Parent module 'numpy.distutils' not found while handling absolute import
    Error in atexit._run_exitfuncs:
    Traceback (most recent call last):
      File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/atexit.py", line 24, in _run_exitfuncs
        func(*targs, **kargs)
      File "/tmp/easy_install-GH52RV/numpy-1.6.2/numpy/distutils/misc_util.py", line 252, in clean_up_temporary_directory
    ImportError: No module named numpy.distutils
    Error in sys.exitfunc:
    Traceback (most recent call last):
      File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/atexit.py", line 24, in _run_exitfuncs
        func(*targs, **kargs)
      File "/tmp/easy_install-GH52RV/numpy-1.6.2/numpy/distutils/misc_util.py", line 252, in clean_up_temporary_directory
    ImportError: No module named numpy.distutils
    

3 个答案:

答案 0 :(得分:13)

这就是我解决这个问题的方法:

export CC=gcc
export CXX=g++
export FFLAGS=ff2c

根据我在10.7安装说明中找到的信息:http://www.scipy.org/Installing_SciPy/Mac_OS_X

答案 1 :(得分:3)

有一条评论here说苹果版的python 2.7带有numpy,所以你根本不需要安装它。

尝试运行

>>> /usr/bin/python2.7
Python 2.7.2 (default, Jun 20 2012, 16:23:33) 
[GCC 4.2.1 Compatible Apple Clang 4.0 (tags/Apple/clang-418.0.60)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy

应该没有问题。现在您只需要将系统Python 2.7配置为默认系统,并为此安装NLTK。

我还找到了解决为什么gcc即使在安装xcode后也会失败的解决方案。您需要单独安装命令行工具。看看this post

答案 2 :(得分:1)

Spicy Superpack为Mac 10.8.2和其他Intel Mac版本安装最新的64位科学软件包:

Numpy(1.8)和Scipy(0.12) Matplotlib(1.3) iPython(0.14) 熊猫(0.10) Statsmodels(0.5.0) Scikit-Learn 0.14 PyMC(2.2)

Spicy Superpack for Mac