0

我尝试在我的 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!

有人可以告诉我如何解决这个问题吗?

4

1 回答 1

1

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

编辑

我发现控制包依赖关系的最简单方法是尽可能多地使用MacPorts,因为与 Homebrew 不同,这些包旨在协同工作,并且当您尝试安装某些东西时(几乎总是)自动安装依赖关系。

因此,首先,使用Snow Leopard的安装程序安装 MacPorts 。选择将端口安装在唯一目录(如)中的选项/opt/local,这样它们就不会与操作系统所依赖的任何内置版本冲突。此外,请确保将/opt/local/bin/opt/local/sbin添加到您$PATH 之前的系统目录中,例如 ,/usr/bin等,以便在从命令提示符运行时获得所需的版本。你的最后一行应该有类似的东西。/bin/sbinpython~/.profileexport 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提供的结果过多,在线搜索引擎可以帮助您找到所需的内容。

要获得一个体面的基于 IPython 的 Python 2 开发环境,您需要以下内容:

  • python27
  • py27-ipython
  • py27-numpy
  • py27-scipy
  • py27-matplotlib(如果你喜欢画漂亮的图片,但主要是为了你能得到pylab
  • py27-pandasDataFrames是你的朋友!)
  • 也许py27-pyqt4如果你通过qtconsole选项运行 ipython

如果没有 MacPort 版本,我也会安装py-pip,因此您可以自行安装模块。py27-distribute

最后,如果你是一个有远见的人并且想要使用numpyet al. 在 Python 3 上,MacPorts 为您服务!上述所有软件包都有基于 - 和 - 的版本,除了,py32这只是现在。但是,我能够很好地安装它,尽管我的机器上有一大堆其他开发工具,而且我运行的是 10.8.2,所以 YMMV。py33scipypy32pip

祝你好运!

于 2013-03-16T14:19:28.330 回答