2013-03-23 84 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

相关问题