在mac 10.6.8上安装scipy

时间:2013-03-16 12:49:45

标签: macos scipy osx-snow-leopard

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

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

1 个答案:

答案 0 :(得分:1)

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

修改

我发现保持程序包依赖性受到控制的最简单方法是尽可能多地使用MacPorts,因为与Homebrew不同,这些程序包可以协同工作,并且(当然,几乎总是)自动安装依赖项尝试安装一些东西。

首先,使用the installer为Snow Leopard安装MacPorts。选择在/opt/local这样的唯一目录中安装端口的选项,这样它们就不会与操作系统所依赖的任何内置版本冲突。另外,请确保/opt/local/bin/opt/local/sbin添加到$PATH 之前系统目录,例如/usr/bin/bin,{{ 1}}等等,这样当您从命令提示符运行/sbin时,您将获得所需的版本。您的python应该有~/.profile作为最后一行。

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

要获得一个像样的基于IPython的Python 2开发环境,你需要以下内容:

  • baz
  • port search
  • python27
  • py27-ipython
  • py27-numpy(如果你喜欢画漂亮的照片,但主要是因为你可以得到py27-scipy
  • py27-matplotlibpylab s是你的朋友!)
  • 如果您通过py27-pandas选项运行ipython,则可以
  • DataFrame

我还会安装py27-pyqt4qtconsole,这样如果没有MacPort版本,您就可以自行安装模块。

最后,如果你是一个具有前瞻性的人并且想要使用py-pip等人。在Python 3上,MacPorts让你满意!除py27-distribute之外的所有上述软件包都有基于numpypy32的版本,目前仅为py33。但是,我可以使用scipy安装它,虽然我的机器上有一大堆其他开发工具,我运行10.8.2,所以YMMV。

祝你好运!