(おそらく)特定のバージョンのPythonをインストールして使用する

(おそらく)特定のバージョンのPythonをインストールして使用する

科学的なアプリケーションでは、Python パッケージ 、、 の特定のバージョンを使用する必要がありますnumpyscipyラップ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 は含まれていません。自分でテストする必要があります。

関連情報