我尝试在我的 mac 10.6.8 上安装scipy,但总是遇到问题。我已经安装了 ipython ( sudo /usr/bin/easy_install-2.6 ipython
) 和 numpy ( python setup.py build/install
),但是当我以同样的方式安装 scipy 时,我总是收到以下错误消息:
RuntimeError: Running cythonize failed!
有人可以告诉我如何解决这个问题吗?
我尝试在我的 mac 10.6.8 上安装scipy,但总是遇到问题。我已经安装了 ipython ( sudo /usr/bin/easy_install-2.6 ipython
) 和 numpy ( python setup.py build/install
),但是当我以同样的方式安装 scipy 时,我总是收到以下错误消息:
RuntimeError: Running cythonize failed!
有人可以告诉我如何解决这个问题吗?
您是否尝试过使用为 OSX 提供的二进制文件?这应该确保一切正常。
编辑
我发现控制包依赖关系的最简单方法是尽可能多地使用MacPorts,因为与 Homebrew 不同,这些包旨在协同工作,并且当您尝试安装某些东西时(几乎总是)自动安装依赖关系。
因此,首先,使用Snow Leopard的安装程序安装 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
将以正确的顺序安装最新版本的foo
、bar
和baz
端口,以及它们可能需要的任何依赖项。有些端口有二进制分发,有些是根据需要编译的,所以第一次运行时可能会有很多要安装的依赖项。MacPorts 的一个不错的功能是您可以同时安装某些软件包的多个版本,如果需要,您可以在它们之间切换。此外,如果port search
提供的结果过多,在线搜索引擎可以帮助您找到所需的内容。
要获得一个体面的基于 IPython 的 Python 2 开发环境,您需要以下内容:
python27
py27-ipython
py27-numpy
py27-scipy
py27-matplotlib
(如果你喜欢画漂亮的图片,但主要是为了你能得到pylab
)py27-pandas
(DataFrame
s是你的朋友!)py27-pyqt4
如果你通过qtconsole
选项运行 ipython如果没有 MacPort 版本,我也会安装py-pip
,因此您可以自行安装模块。py27-distribute
最后,如果你是一个有远见的人并且想要使用numpy
et al. 在 Python 3 上,MacPorts 为您服务!上述所有软件包都有基于 - 和 - 的版本,除了,py32
这只是现在。但是,我能够很好地安装它,尽管我的机器上有一大堆其他开发工具,而且我运行的是 10.8.2,所以 YMMV。py33
scipy
py32
pip
祝你好运!