科学的なアプリケーションでは、Python パッケージ 、、 の特定のバージョンを使用する必要がありますnumpy
。scipy
ラップbrian2
トップに正しいバージョンをインストールし、次のようにテスト スイートを実行しました。
>>> import numpy as np
>>> import scipy
>>> import brian2
>>> np.test()
>>> scipy.test()
>>> brian2.test()
すべてのテストに合格しました。
今度は、ラボのコンピューティング クラスターで同じことを実行したいと思います。 もう一度、正しいバージョンをすべてインストールしました。 ただし、この新しい環境では、 とnumpy
テストのみbrian2
が合格します。 の場合scipy
、1 つのテストが失敗します。
======================================================================
FAIL: test_decomp_update.TestQRdelete_f.test_delete_last_p_col
----------------------------------------------------------------------
Traceback (most recent call last): File
"/usr/local/anaconda/lib/python2.7/site-packages/nose/case.py", line
197, in runTest
self.test(*self.arg) File "/home/despo/dbliss/lib/python2.7/site-packages/scipy/linalg/tests/test_decomp_update.py",
line 328, in test_delete_last_p_col
assert_unitary(q1) File "/home/despo/dbliss/lib/python2.7/site-packages/scipy/linalg/tests/test_decomp_update.py",
line 21, in assert_unitary
assert_allclose(aTa, np.eye(a.shape[1]), rtol=rtol, atol=atol) File
"/home/despo/dbliss/.local/lib/python2.7/site-packages/numpy/testing/utils.py",
line 1297, in assert_allclose
verbose=verbose, header=header) File "/home/despo/dbliss/.local/lib/python2.7/site-packages/numpy/testing/utils.py",
line 665, in assert_array_compare
raise AssertionError(msg) AssertionError: Not equal to tolerance rtol=0.0001, atol=2.38419e-07
(mismatch 100.0%) x: array([[ 9.999999e-01, 1.746230e-08,
-1.490116e-08, 1.490116e-08,
-6.146729e-08, -6.332994e-08, 3.352761e-08, 7.450581e-08,
3.352761e-08, 2.142042e-08, -4.097819e-08, 4.656613e-08],... y: array([[ 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[ 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0.],...
----------------------------------------------------------------------
Ran 18599 tests in 253.381s
FAILED (KNOWNFAIL=97, SKIP=1165, failures=1)
どうやら、私のコンピューティング クラスターとラップトップの唯一の重要な違いは、実行している Python のバージョンです。私のラップトップのバージョンは 2.7.6 ですが、クラスターのバージョンは 2.7.10 です。
私の質問は、バージョン 2.7.6 をクラスターにローカル (つまり、自分のアカウントにローカル) でインストールし、IPython を開いたときにそのバージョンを使用するにはどうすればよいかということです。
答え1
質問への直接的な回答: ここで説明されているように virtualenv を使用してください:https://stackoverflow.com/questions/5506110/python の別のバージョンを仮想環境にインストールすることは可能ですか?
ただし、numpy、scipy、brian2 は Python のバージョンだけでなく、システムの他の多くの部分に依存しており、それらの部分もおそらく異なるため、結論はおそらく間違っています。
すべきことは、Anaconda Python ディストリビューションに付属している numpy と scipy を使用することです。これらはおそらくテスト済みです。brian2 は含まれていません。自分でテストする必要があります。