在mac上安装scipy 10.6.8

问题描述:

我尝试在我的mac 10.6.8上安装scipy,但总是遇到问题。我已经安装IPython中(sudo /usr/bin/easy_install-2.6 ipython)和numpy的(python setup.py build/install),但是当我用同样的方式安装SciPy的,我总是这样的错误消息:在mac上安装scipy 10.6.8

RuntimeError: Running cythonize failed! 

有人能告诉我如何解决这个问题?

+0

[build scipy error cythonize failed]可能的重复(http://*.com/questions/15175135/build-scipy-error-cythonize-failed) – 2013-03-16 13:08:14

您是否尝试过使用为OSX提供的binaries?这应该确保一切正常。

编辑

我发现控制住软件包的依赖最简单的方法是使用MacPorts尽可能多的,因为不像自制,包装设计一起工作和依赖关系是(几乎总是)当你尝试安装某些东西时会自动安装。

因此,首先,为Snow Leopard安装使用the installer的MacPorts。选择将端口安装到/opt/local等独特目录中的选项,以便它们不会与操作系统依赖的任何内置版本冲突。此外,确保/opt/local/bin/opt/local/sbin添加到您的$PATH以前系统目录,如/usr/bin/bin/sbin等。这样,当你从你得到你想要的版本命令提示符下运行python。您的~/.profile应该有像export PATH="/opt/local/bin:/opt/local/sbin:$PATH这样的最后一行。

MacPorts安装完成后,您可能需要重新启动才能确保您的所有环境变量都已正确设置。启动Terminal.app(或您最喜欢的替代品)并输入which port,如果一切正常,应返回/opt/local/bin/port。接下来,运行sudo port selfupdate只是为了确保一切都正确同步。一旦完成,我们可以安装python和一些模块。 port允许您传递要安装的端口列表,因此像sudo port install foo bar baz这样的命令将按照正确的顺序安装foobarbaz端口的最新版本以及它们可能需要的任何依赖项。某些端口具有二进制分发,而其他端口则根据需要进行编译,因此第一次运行时可能需要安装依赖关系的批号。 MacPorts的一个很好的功能是,您可以同时安装一些软件包的多个版本,并且可以根据需要在它们之间切换。此外,如果port search提供的结果太多,则在线search engine可以帮助您找到要查找的内容。

得到一个体面的基于IPython中的Python 2的开发环境去,你会需要以下:

  • python27
  • py27-ipython
  • py27-numpy
  • py27-scipy
  • py27-matplotlib(如果您喜欢画漂亮的图片,但主要是你可以得到pylab
  • py27-pandasDataFrame s是你的朋友!)
  • 也许py27-pyqt4,如果你通过qtconsole选项

运行IPython中我还安装py-pippy27-distribute这样你就可以,如果没有MacPort版本上自己安装模块。

最后,如果你是一个具有前瞻性的人,你想使用numpy等。在Python 3上,MacPorts已经涵盖了!除scipy之外,上述所有软件包都有py32py33版本,现在只有py32。不过,我能够在pip的条件下安装它,尽管我的机器上有很多其他的开发工具,而且我运行的是10.8.2,所以YMMV。

祝你好运!

+0

是的我试过了,但事实证明总是这样当我安装了“scipy 0.11.0不能安装在这个磁盘上的错误信息。scipy需要python.org Python 2.6来安装”。但是我已经安装了python 2.6.1 – Lilianna 2013-03-16 14:44:23

+0

你需要2.6还是2.7才行? – MattDMo 2013-03-16 14:56:28

+0

2.7是好的。其实我有2.6和ipython ... – Lilianna 2013-03-16 16:28:48