2013-03-23 82 views
3

我遇到了所有庫的問題,但讓我專注於numpy。如果我在virtualenv之外,我可以進入Python解釋器並執行以下操作:Virtualenv無法導入Numpy

import numpy 

並且正常工作。但是,如果我陷入了virtualenv和嘗試:

$ workon test 
(test):~/Project/test$ python 

>>> import numpy 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: No module named numpy 

之後谷歌搜索的時間,我相信這個問題一定是在我的virtualenvvirtualenvwrapper理解。我已經嘗試了很明顯的:

(test):~/Projects/test$ pip install numpy 

,但我得到了錯誤:

SystemError: Cannot compile 'Python.h'. Perhaps you need to install python-dev|python-devel. 

我也試着做sudo apt-get install python-dev但得到的錯誤:

The following packages have unmet dependencies: 
python-dev : Depends: python2.7-dev (>= 2.7.3) but it is not going to be installed 
E: Unable to correct problems, you have held broken packages. 

我正在Python2.7.3Ubuntu 12.04和有PyDev(沒有virtualenv)運行一個項目,目前進口圖書館(如numpy)毫不費力。我曾嘗試使用Ubuntu軟件中心來安裝python-dev,但我得到了同樣的錯誤。

回答

4

virtualenv默認情況下不允許您從全局環境導入包。使用[mk]virtualenv --system-site-packages來允許它導入系統包。

python-dev是一個系統軟件包,所以pip錯誤是預期的。不知道有關錯誤,但您可以在askubuntu.com上嘗試解決它。

+0

對不起,但是當你說'使用'[mk] virtualenv --system-site-packages'',你是什麼意思?感謝您的迴應。 – theJollySin 2013-03-23 23:57:37

+1

當您最初創建virtualenv時,例如使用'mkvirtualenv name',添加'--system-site-packages'參數。然後你可以導入全局包。 – Dougal 2013-03-24 00:04:58

+1

只是要清楚,這是否以任何方式打破Virtualenv的功能?因爲環境似乎不再與我的全球環境分開。 – theJollySin 2013-03-24 07:02:47

相關問題