Virtualenv没有使用全球包

时间:2011-06-16 12:18:38

标签: python virtualenv

请帮助诊断virtualenv问题。它希望下载并安装numpy和lxml,同时在全球站点包中安装了符合版本要求的版本。

$ virtualenv venv # not restricting access to site-packages
...

$ . venv/bin/activate
(venv)$ python -c 'import numpy; print numpy._version_; print numpy.__file__'
1.5.1
/usr/lib/pymodules/python2.7/numpy/_init_.pyc

(venv)$ grep numpy setup.py
'numpy>=1.5.1',

(venv)$ python setup.py develop
...
Searching for numpy==1.5.1 # Why exact ==1.5.1? Where is it from?
Reading http://pypi.python.org/simple/numpy/
Reading http://numpy.scipy.org
Reading http://sourceforge.net/project/showfiles.php?group_id=1369&package_id=175103
Reading http://numeric.scipy.org
Best match: numpy 1.5.1
Downloading http://pypi.python.org/packages/source/n/numpy/numpy-1.5.1.tar.gz#md5=376ef150df41b5353944ab742145352d

版本:Ubuntu 11.04,Python 2.7.1 +,virtualenv 1.4.9

更新:virtualenv 1.5.1和更新版按预期工作。还好奇是什么问题。

2 个答案:

答案 0 :(得分:9)

根据提出这个问题的时间,我的答案不会解决OP的问题,但我遇到了类似的问题并且遇到了这个问题。我想出了我的问题是什么,所以我发布了这个答案给后人和其他任何遇到过这个问题的人。

从virtualenv 1.7开始--no-site-packages成为默认行为。要使全局站点包可导入(以前是默认设置),您必须在创建virtualenv时使用选项--system-site-packages。

答案 1 :(得分:0)

  

此错误是由于virtualenv的发布版本(ubuntu中为1.4.9)   11.04)。这个版本不复制virtualenv中python安装的目录config /,所以在python2.7中引入了sysconfig   坏了。

这是一种解决方法:

mkdir -p <VIRTUALENV_PATH>/local/lib/python2.7/config/
cp /usr/lib/python2.7/config/Makefile <VIRTUALENV_PATH>/local/lib/python2.7/config/Makefile

https://bugs.launchpad.net/ubuntu/+source/python-virtualenv/+bug/780220