3

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

我安装了自制软件,并通过它安装了一个新的 python 2.7,因为我不想弄乱苹果提供的那个。我也总是通过自制软件安装 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 有关。

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

4

1 回答 1

2

我的建议是始终在virtualenv中设置 python 计算环境(尤其是使用 scipy 和 numpy 等挑剔的包)。virtualenv 是一个工具,它允许您设置和切换到隔离的 Python 环境,以便在一个环境中安装和更改内容不会与其他环境混淆。

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

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

于 2012-11-29T00:36:15.963 回答