【问题标题】:Installing Scipy on Mountain Lion在山狮上安装 Scipy
【发布时间】:2012-11-08 20:03:58
【问题描述】:

我试图使用 Xcode 及其命令行工具在全新安装的 Mountain Lion 上安装 python 及其科学库。

我安装了自制软件,并通过它安装了一个新的 python 2.7,因为我不想弄乱 Apple 提供的那个。我也总是通过自制软件安装 gfortran。

然后我从其源代码安装 Numpy,使用标志使用 gfortran 构建它。我这样做是因为如果我 pip install 它,那么 scipy 安装将失败。

安装完成后,我通过bumpy.test('full') 对其进行了测试,结果显示OK。

此时我尝试使用 pip 或从源代码安装 scipy。结果是一样的,它安装了,但是当我使用 scipy.test() 测试它时,我得到了大量的失败和一个错误。 知道如何解决这个问题吗?

报告的错误是

ERROR: test_logm_consistency (test_matfuncs.TestExpM)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/site-packages/scipy/linalg/tests/test_matfuncs.py", line 124, in test_logm_consistency
    assert_array_almost_equal(expm(logm(a)), a)
  File "/usr/local/lib/python2.7/site-packages/scipy/linalg/matfuncs.py", line 453, in logm
    errest = norm(expm(F)-A,1) / norm(A,1)
  File "/usr/local/lib/python2.7/site-packages/scipy/linalg/matfuncs.py", line 49, in expm
    A_L1 = norm(A,1)
  File "/usr/local/lib/python2.7/site-packages/scipy/linalg/misc.py", line 12, in norm
    a = np.asarray_chkfinite(a)
  File "/usr/local/lib/python2.7/site-packages/numpy/lib/function_base.py", line 590, in asarray_chkfinite
    "array must not contain infs or NaNs")
ValueError: array must not contain infs or NaNs

这些故障与 boas、basic、dot、asum、nrm2、arpack 有关。

知道如何解决这个问题吗?

【问题讨论】:

标签: python scipy osx-mountain-lion


【解决方案1】:

我的建议是始终在virtualenv 中设置 python 计算环境(尤其是使用 scipy 和 numpy 等挑剔的包)。 virtualenv 是一种工具,可让您设置和切换进出隔离的 Python 环境,这样在一个环境中安装和更改内容就不会干扰其他环境。

编辑:使用 virtualenv 的另一个原因是,如果你把所有东西都搞砸了,你并没有弄乱你的全局系统配置,你可以删除 virtualenv 并从头开始修复它。我还推荐virtualenvwrapper,它基本上只是一些让virtualenv 更直观、使用更快的糖。

还要解决您的实际问题:我相信您仍然必须使用 scipy 的开发分支才能使其在 OSX 10.8 上成功编译。我几乎完全按照here 的说明进行操作,一切正常。

【讨论】:

  • 嗨詹姆斯,感谢您的回答。我还尝试在隔离的虚拟环境中设置所有内容,但最终鼻子报告了更多错误。如果你使用 virtualenv 和 scipy 的开发者版本,你可以通过 pip 安装 numpy 和 scipy。在virtualenv之外你必须编译前者,否则scipy的安装会失败。
猜你喜欢
  • 2012-09-16
  • 2012-09-03
  • 2012-08-28
  • 2013-09-24
  • 2013-01-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-08
相关资源
最近更新 更多