2

NumPy、SciPy、および BioPython を依存関係として持つ nsilk と呼ばれる質量分析コードの実行に問題がありました。Mac (Mountain Lion) で他の Python ベースのプロジェクトを実行しているので、nsilk をインストールするために virtualenv/pip を使用して仮想環境を分離したいと考えました。

nsilk コマンドを実行すると (「which」を使用して、システム全体のインストールではなく、仮想環境に存在するバージョンを指していることを確認しました)、次のトレースバックを受け取ります。

Traceback (most recent call last):
  File "/usr/local/bin/nsilk", line 32, in <module>
    import xllib
  File "/Library/Python/2.7/site-packages/xllib/__init__.py", line 30, in <module>
    import MSMS
  File "/Library/Python/2.7/site-packages/xllib/MSMS.py", line 32, in <module>
    import scipy.stats as ss
ImportError: No module named scipy.stats

(virtualenv) Python シェルに入ると、scipy.stats を直接インポートしようとしても、何の不満もありません。

>>> import scipy.stats as ss
>>> 

ただし、scipy.test() を実行すると、多数のエラーが発生します。

>>> import scipy
>>> scipy.test()

最初の 3 つを次に示します。

======================================================================
ERROR: test_logm_consistency (test_matfuncs.TestExpM)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/Mike/venvs/nsilk/lib/python2.7/site-packages/scipy/sparse/linalg/tests/test_matfuncs.py", line 55, in test_logm_consistency
    assert_array_almost_equal(expm(logm(a)), a)
  File "/Users/Mike/venvs/nsilk/lib/python2.7/site-packages/scipy/linalg/matfuncs.py", line 387, in logm
    errest = norm(expm(F)-A,1) / norm(A,1)
  File "/Users/Mike/venvs/nsilk/lib/python2.7/site-packages/scipy/linalg/matfuncs.py", line 55, in expm
    return scipy.sparse.linalg.expm(A)
  File "/Users/Mike/venvs/nsilk/lib/python2.7/site-packages/scipy/sparse/linalg/matfuncs.py", line 85, in expm
    A_L1 = norm(A,1)
  File "/Users/Mike/venvs/nsilk/lib/python2.7/site-packages/scipy/linalg/misc.py", line 116, in norm
    a = np.asarray_chkfinite(a)
  File "/Users/Mike/venvs/nsilk/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

======================================================================
FAIL: test_asum (test_blas.TestFBLAS1Simple)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/Mike/venvs/nsilk/lib/python2.7/site-packages/scipy/lib/blas/tests/test_blas.py", line 62, in test_asum
    assert_almost_equal(f([3,-4,5]),12)
  File "/Users/Mike/venvs/nsilk/lib/python2.7/site-packages/numpy/testing/utils.py", line 468, in assert_almost_equal
    raise AssertionError(msg)
AssertionError:
Arrays are not almost equal to 7 decimals
 ACTUAL: 0.0
 DESIRED: 12

======================================================================
FAIL: test_dot (test_blas.TestFBLAS1Simple)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/Mike/venvs/nsilk/lib/python2.7/site-packages/scipy/lib/blas/tests/test_blas.py", line 71, in test_dot
    assert_almost_equal(f([3,-4,5],[2,5,1]),-9)
  File "/Users/Mike/venvs/nsilk/lib/python2.7/site-packages/numpy/testing/utils.py", line 468, in assert_almost_equal
    raise AssertionError(msg)
AssertionError:
Arrays are not almost equal to 7 decimals
 ACTUAL: 0.0
 DESIRED: -9

GCC 4.8.0 20120603 (実験的) を使用して XCode 4.6.3 をインストールした後、pip を使用して NumPy、SciPy、および BioPython をインストールしました。LibFFTPack (または同様のもの) と呼ばれるライブラリがないために失敗したため、最初は SciPy のインストールに問題がありました。

エラーをグーグルで検索すると、XCode 用の Fortran コンパイラをインストールする必要が生じます。これにより、pip の実行時に SciPy のコンパイル時にこれらのトレースバックが「修正」されましたが、上記の問題が発生しました。SciPy の不適切なインストールを作成したコンパイル エラーがあると思います。ここにコンパイラ/バイナリの問題が混在している可能性がありますか?

乾杯、マイク。

4

0 に答える 0