【问题标题】:installing scipy on mac 10.6.8在 mac 10.6.8 上安装 scipy
【发布时间】:2024-01-11 11:47:01
【问题描述】:

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

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

【问题讨论】:

标签: macos scipy osx-snow-leopard


【解决方案1】:

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

编辑

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

因此,首先,使用 the installer 为 Snow Leopard 安装 MacPorts。选择在 /opt/local 等唯一目录中安装端口的选项,这样它们就不会与操作系统所依赖的任何内置版本冲突。另外,请确保将/opt/local/bin/opt/local/sbin 添加到您的$PATH 之前 系统目录,如/usr/bin/bin/sbin 等,以便在您运行@987654332 时@ 在命令提示符下,您将获得所需的版本。你的~/.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-pandasDataFrames 是你的朋友!)
  • 如果您通过 qtconsole 选项运行 ipython,可能还有 py27-pyqt4

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

最后,如果您是一个有远见的人并且想使用numpy 等。在 Python 3 上,MacPorts 为您服务!除了scipy,目前只有py32之外,上述所有软件包都有基于py32py33的版本。但是,我可以使用pip 很好地安装它,尽管我的机器上有一大堆其他开发工具,而且我运行的是 10.8.2,所以 YMMV。

祝你好运!

【讨论】:

  • 是的,我已经尝试过了,但是当我安装“scipy 0.11.0 无法在此磁盘上安装。scipy 需要 python.org Python 2.6 安装”时,它总是出现错误消息.但是我已经安装了python 2.6.1
  • @user2177001 - 请参阅上面我经过大量修改和扩展的评论,如果您还有其他问题,请告诉我。
  • 非常感谢!我已经安装了 MacPorts,它似乎运行良好。但总是无法安装 scipy。我的步骤是:“sudo port selfupdate”然后“sudo port install python27”和“sudo port install py27-ipython py27-numpy py27-scipy”,我得到的响应是“---> Computing dependencies for py27-scipy -- -> 清理 py27-scipy ---> 扫描二进制文件以查找链接错误:100.0% ---> 未找到损坏的文件。” 然后我尝试启动 ipython 并导入 scipy,但它显示“ImportError: No module named scipy”。
  • @Lilianna - 确保您使用的是 ipython 的 MacPorts 版本,并且您的 $PATH 设置为在其他任何地方之前搜索 /opt/local 目录。另外,查看/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/site-packages,看看那里是否有 scipy 文件夹,以及 ipython、numpy 和其他文件夹。
  • 对不起,应该是/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages