Installation

(可能安裝和)使用特定版本的 Python

  • October 7, 2015

對於科學應用程序,我需要使用特定版本的 Python 包numpyscipybrian2. 我已經在我的筆記型電腦上安裝了正確的版本並執行他們的測試套件,如下所示:

>>> import numpy as np
>>> import scipy
>>> import brian2
>>> np.test()
>>> scipy.test()
>>> brian2.test()

所有的測試都通過了。

現在我想在我實驗室的計算集群上做同樣的事情。我再次安裝了所有正確的版本。但是,在這個新環境中,只有numpybrian2測試通過。對於scipy,單個測試失敗:

====================================================================== 
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 時使用該版本?

直接回答您的問題:按照此處的說明使用 virtualenv:https ://stackoverflow.com/questions/5506110/is-it-possible-to-install-another-version-of-python-to-virtualenv

但是,您的結論可能是不正確的,因為 numpy、scipy 和 brian2 依賴於系統的許多其他位,而不僅僅是 python 的版本,而且這些位也可能不同。

你應該做的是使用 anaconda python 發行版附帶的 numpy 和 scipy,因為這些可能已經過測試。brian2 不包括在內。你必須自己測試一下。

引用自:https://serverfault.com/questions/727430