【问题标题】:Install NumPy for Python 3.2.3 on OS X 10.7.4在 OS X 10.7.4 上为 Python 3.2.3 安装 NumPy
【发布时间】:2012-05-20 10:24:39
【问题描述】:

几个月来,我一直在尝试为 Python 3 安装 numpy,但尽管进行了大量的谷歌搜索,甚至发布到 numpy 邮件列表,但我仍然没有找到解决方案。

我已经设法通过 MacPorts 安装它,但不幸的是,似乎没有适用于 Python 3 的 MatPlotLib 端口,这是我尝试安装 numpy 的主要原因......所以我有点卡住了...... .

在尝试从 setup.py 文件构建时,我不断收到相同的错误。我在下面包含了终端输出。

感谢您提供的任何帮助,

亚当。

这是终端输出:

lipo: can't figure out the architecture type of: /var/folders/zj/7xymy_2n3s71ws30v3v_qnlw0000gn/T//ccbRr0Hj.out
failure.
removing: _configtest.c _configtest.o
Running from numpy source directory.Traceback (most recent call last):
  File "setup.py", line 214, in <module>
    setup_package()
  File "setup.py", line 207, in setup_package
    configuration=configuration )
  File "/Users/adammcnicol/Downloads/numpy-1.6.2rc1/build/py3k/numpy/distutils/core.py", line 186, in setup
    return old_setup(**new_attr)
  File "/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/distutils/core.py", line 148, in setup
    dist.run_commands()
  File "/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/distutils/dist.py", line 917, in run_commands
    self.run_command(cmd)
  File "/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/distutils/dist.py", line 936, in run_command
    cmd_obj.run()
  File "/Users/adammcnicol/Downloads/numpy-1.6.2rc1/build/py3k/numpy/distutils/command/build.py", line 37, in run
    old_build.run(self)
  File "/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/distutils/command/build.py", line 126, in run
    self.run_command(cmd_name)
  File "/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/distutils/cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/distutils/dist.py", line 936, in run_command
    cmd_obj.run()
  File "/Users/adammcnicol/Downloads/numpy-1.6.2rc1/build/py3k/numpy/distutils/command/build_src.py", line 152, in run
    self.build_sources()
  File "/Users/adammcnicol/Downloads/numpy-1.6.2rc1/build/py3k/numpy/distutils/command/build_src.py", line 169, in build_sources
    self.build_extension_sources(ext)
  File "/Users/adammcnicol/Downloads/numpy-1.6.2rc1/build/py3k/numpy/distutils/command/build_src.py", line 328, in build_extension_sources
    sources = self.generate_sources(sources, ext)
  File "/Users/adammcnicol/Downloads/numpy-1.6.2rc1/build/py3k/numpy/distutils/command/build_src.py", line 385, in generate_sources
    source = func(extension, build_dir)
  File "numpy/core/setup.py", line 410, in generate_config_h
    moredefs, ignored = cocache.check_types(config_cmd, ext, build_dir)
  File "numpy/core/setup.py", line 41, in check_types
    out = check_types(*a, **kw)
  File "numpy/core/setup.py", line 271, in check_types
    "Cannot compile 'Python.h'. Perhaps you need to "\
SystemError: Cannot compile 'Python.h'. Perhaps you need to install python-dev|python-devel.

【问题讨论】:

  • matplotlib for Python 3 还没有发布,所以它没有端口也就不足为奇了。你可以从 macports 手动将它安装在 numpy 和 py3 之上吗?
  • 我还没有通过 MacPorts 尝试过。我无法将它安装在我设法安装在 Python.org Python 3.2.3 之上的 numpy 之上(请参阅下面的答案)。我尝试使用 build 和 make.osx 文件从源代码安装 matplotlib。 make.osx 文件似乎仅适用于 Python 2。
  • 看看 make.osx 在做什么——适应 Python 3 可能很简单。
  • 我想我现在已经安装了 matplotlib! install matplotlib on Python 3.2/OS X 10.7.4。再次感谢您的帮助。

标签: numpy python-3.x matplotlib osx-lion installation


【解决方案1】:

好吧,我终于设法安装了 NumPy。不确定这是不是最好的方法,但它似乎有效!

首先我需要安装distribute:

  1. curl http://python-distribute.org/distribute_setup.py | python3

然后我安装了pip:

  1. curl https://raw.github.com/pypa/pip/master/contrib/get-pip.py | python3

在那之后,我必须将 pip 放到我的系统路径上(同样可能有更好的方法):

  1. 打开终端
  2. 键入以下内容(单行):
    • sudo ln -s /Library/Frameworks/Python.framework/Versions/3.2/bin/pip /usr/local/bin

安装了 distribute 和 pip,然后我安装了 Nose,NumPy 需要它来进行测试或其他操作:

  1. 同样,在 Terminal 中键入以下内容:
    • pip install nose

现在我需要确保我拥有最新版本的 Xcode:

  1. 从 AppStore 安装最新版本的 Xcode
  2. 如果您还有 /Developer 文件夹,请将其重命名为 Developer-old(不确定这是否会在以后给我带来问题)
  3. 打开 Terminal 并创建指向 Xcode 的 AppStore 版本的符号链接(单行):
    • sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer /Developer

所有这些都没有时间安装 NumPy:

  1. 从以下位置下载 NumPy 源:http://sourceforge.net/projects/numpy/files/NumPy/1.6.2rc1/
  2. 解压文件
  3. 再次打开终端:
    • cd 进入通过取消归档文件创建的目录,例如
      • cd /Users/username/Downloads/numpy-1.6.2rc1
  4. 在 Terminal 中输入以下内容以更改用于构建 NumPy 的编译器:
    • export CC=clang
    • export CXX=clang
    • export FFLAGS=-ff2c
    • export LDSHARED='clang -bundle -undefined dynamic_lookup -arch i386 -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.6.sdk -g'(这是一行)
    • python3 setup.py build(这可能需要一段时间)
    • python3 setup.py install

好的,假设应该安装 NumPy 没有错误。是时候测试一下了:

  1. 打开空闲
  2. 在 Python Shell 中键入:
    • import numpy
    • numpy.test('full')
  3. 这将测试 NumPy 我使用 Python 3.2.3 收到的最终结果是:
    • &lt;nose.result.TextTestResult run=3192 errors=0 failures=1&gt;

所以 NumPy 安装通过了除了一项测试之外的所有测试,这看起来很不错。我还没有机会查看是否可以正常工作,因为我仍在努力安装 ma​​tplotlib...

希望这些说明对某人有用!

亚当。

【讨论】:

  • 在 python setup.py build 上为我中断,消息为:“clang: error: linker command failed with exit code 1 (use -v to see invocation) Running from numpy source directory.error: Command” clang -bundle -undefined dynamic_lookup -arch i386 -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.6.sdk -g build/temp.macosx-10.6-intel-3.3/build/src.macosx-10.6-intel-3.3/ numpy/core/src/_sortmodule.o -Lbuild/temp.macosx-10.6-intel-3.3 -lnpymath -o build/lib.macosx-10.6-intel-3.3/numpy/core/_sort.so" 退出状态为 1 ` :(
  • 尝试将关于 sdk 的行从 10.6 更改为 10.7
  • 不,仍然爆炸。出于好奇,您是否有理由说使用 1.6.2.rc1 而不仅仅是 numpy 的直接 1.6.2?
  • 当时是最新版本。
  • 为了在全新安装 OS X 10.8 时为我工作,我必须像上面那样下载 XCode,然后在安装 Python 3.3 之前在 XCode 中安装命令行工具(首选项->下载) .安装 Python 3.3 后,我按照上面的说明进行操作,但后来我下载了 numpy-1.7.0b2,因为它与 Python 3.2 兼容。现在我可以使用 Python 3.3 运行 numpy,更重要的是使用 Blender 2.65。
【解决方案2】:

我使用的是 Python 3.3 和 OS X 10.7,并且我使用比上述更简单的方法安装了 numpy。我在这里发帖以防它可以帮助某人。

按照以下步骤操作:

  • 从 github 上的 numpy 下载 zip 文件,然后将其解压缩到任何您想要的位置。
  • 打开终端并 cd 到目录
  • 输入命令python3 setup.py build --fcompiler=gnu95(需要gfortran。输入gfortran -v看看有没有,我有4.6.2版)
  • 输入python3 setup.py install

这就是我所需要的。但是,运行 numpy.test('full') 会给我一些错误:http://pastebin.com/5XF0qAe5

我还不知道我会遇到什么样的错误。

【讨论】:

    【解决方案3】:

    上面的答案对我很有用,除了你提到这是针对 OS X 10.7(这里相同)所以我的构建命令确实抱怨了这条线:

    • export LDSHARED='clang -bundle -undefined dynamic_lookup -arch i386 -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.6.sdk -g'(这是一行)

    所以,我只是将其更改为 10.7,它运行良好。显然,对于 OS X 10.7,/Developer/SDKs/ 目录包含 MacOSX10.7.sdk 和 MacOSX10.8.sdk。感谢您的精彩回答!

    【讨论】:

      【解决方案4】:

      我已经多次返回此答案,如果您使用的是 10.8,则需要做一些事情才能使其正常工作(但我认为您不需要 LDSHARED 部分)。

      1. 从 Apple 安装 XCode 以及命令行工具(这将为您提供所需的编译器)。
      2. 将环境变量设置为指向clang并使用easy_install(不分发)安装,此行将起作用:

        CC=clang CXX=clang FFLAGS=-ff2c easy_install numpy

      3. 不要不要尝试同时安装其他软件包。 numpy 安装可能会因错误而退出,但它通常会设法自行安装(例如,如果您尝试在 virtualenv 中安装,这可能会发生)。

      【讨论】:

        【解决方案5】:

        对我来说,我从他们的网站安装了 python3,然后安装了 numpy,

        pip3 install numpy

        有效!

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-07-16
          • 1970-01-01
          • 2012-09-05
          • 1970-01-01
          相关资源
          最近更新 更多