在Virtualenv中在Mac OS Lion上安装SciPy

5

我正在尝试在我的Mac虚拟环境中安装scipy。

在虚拟环境中使用的Python:

(Django)miki725mac:Django miki725$ python
Python 2.7.2 (default, Aug  3 2011, 00:58:00) 
[GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 

我尝试通过以下方式安装scipy,但失败了:

$ svn co http://svn.scipy.org/svn/scipy/trunk scipy
$ python setup.py build
$ python setup.py install

然后我尝试了:

$ pip install scipy

根据建议,我也尝试了以下方法:

$ pip install -e git://github.com/scipy/scipy@effa6f68f8ada57b7986#egg=scipy-dev

日志

这里是所有安装步骤的完整日志: (它们对于stackoverflow来说太长了)

python setup.py build

http://www.diglo.com/download/3dfc7a1af18617d7ee49faa8bea3464703ea

python setup.py install

http://www.diglo.com/download/ab13985c76ad709b25464fa1254daa4b03ea

pip install scipy

http://www.diglo.com/download/9e808fe5b57b6b01a8265d4b01958da703ea (pastebin: http://paste.pocoo.org/show/454004/)

pip install -e git://github.com/scipy/scipy@effa6f68f8ada57b7986#egg=scipy-dev

http://www.diglo.com/download/085f7bd08e7cb86823718b94641ecacd03ea

请帮忙。我是新手,提前感谢。


请更新您的问题并发布错误的前几行,而不是最后几行 - 这些实际上包含了错误的源头。 - David Wolever
抱歉,那个数字有点太高了...我是指“包含编译错误的前几行”。你能贴出整个输出吗? - David Wolever
今晚我会把它放到其他地方,因为它太长了,超出了 Stack Overflow 的限制。 - miki725
刚刚上传了完整的日志。谢谢。 - miki725
嗯...我不想说,但这并不是我以前遇到过的错误。抱歉 =\ (另外,供您参考:像http://paste.pocoo.org和http://pastebin.com这样的网站在您想要发送此类错误时非常有用)。 - David Wolever
4个回答

9

个人而言,我发现在Mac OS Lion上安装scipy/numpy最简单可靠的方法是通过 GitHub上的scipy超级包shell脚本。正如史蒂夫·乔布斯所说 -它只需要运行。不需要多做其他操作。

安装虚拟环境中的scipy的步骤:

  • 下载scipy超级包安装脚本
  • 打开安装脚本并将PYTHON=/usr/bin/python更改为PYTHON=`which python`
  • 激活虚拟环境,在虚拟环境内运行安装脚本
  • 完成!这就是您需要做的全部操作

4
最好从这里获取最新的ScipySuperpack:https://github.com/fonnesbeck/ScipySuperpack - vgoklani
这似乎是使用virtualenv的最佳方法。安装脚本确实运行了homebrew,因此它会在“系统范围”内安装非Python依赖项。我想那可能是正确的做法。 - mindthief
链接已损坏 :( - Algorithmatic
谢谢@vgoklani。我已经更新了答案,现在指向正确的下载页面。 - Varun Katta

3

直到2011年8月,Scipy在Mac OS X Lion上无法正常工作。该问题在此提交中得到解决:https://github.com/scipy/scipy/commit/effa6f68f8ada57b79864852b609ff06d2527306

看起来这个更改尚未合并到SVN主干。建议使用Github代替:

pip install -e git://github.com/scipy/scipy@effa6f68f8ada57b7986#egg=scipy-dev

我在两个 Lion 安装上都尝试过这种方法,它确实可行。但是如果不行的话,我听说使用 GCC-4.0(而不是当前默认的GCC-4.2)也可以解决此问题(虽然我没有验证过):
  1. 安装 MacPorts
  2. sudo port install gcc40
  3. 从 gcc-4.0 创建一个符号链接到 gcc
  4. 建议:在安装 scipy 后,将符号链接更改回 xcode 版本的 gcc-4.2
只有当您还没有 gcc-4.0 时才需要执行步骤1和2。

无法工作。如何切换到GCC-4.0?如果我没有安装它,该怎么安装? - miki725
我尝试了,这是我得到的结果: 错误:目标 org.macports.fetch 返回:gcc40 在 Lion 上无法构建。 - miki725

1

考虑使用官方说明怎么样?

看起来你正在使用默认的Python安装,这是不推荐的...


我从官方的 dmg 安装了 Python。它在哪里?它没有成为默认的 Python 版本。 - miki725
1
Lion自带Python 2.7,已经足够使用。对于OS X默认Python的批评仅适用于早期版本的OS X,这些版本附带了非常过时的Python 2.5。这些批评不适用于OS X 10.7(Lion)。 - gotgenes

1
我最近遇到了类似的问题。在尝试跟随 Lion 上安装 scipyoffice doc 后仍然不行,我找到了以下资源帮助我解决问题:
  1. 在Lion上安装Python、virtualenv、NumPy、SciPy、matplotlib和IPython(对我来说并没有真正起作用,但我想它对大多数人都有效)

  2. 在Mac OS X上安装Python、NumPy、SciPy和matplotlib(这个方法对我也有效,只需记得先使用homebrew安装gfortran,然后使用pip install scipy来构建和安装scipy。虽然我怀疑它可能不总是有效)。

  3. Scipy Superpack(这个方法最简单、最快速,因为它只是为Lion安装已编译的二进制文件)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接