当我使用Python 2.7创建一个新的virtualenv时,我无法使用site.getsitepackages()
:
$ virtualenv testenv -p python2.7 --no-site-packages
Running virtualenv with interpreter /usr/bin/python2.7
New python executable in testenv/bin/python2.7
Also creating executable in testenv/bin/python
Installing setuptools............done.
Installing pip...............done.
$ cd testenv/
$ source bin/activate
(testenv)$ python
Python 2.7.1+ (r271:86832, Apr 11 2011, 18:05:24)
[GCC 4.5.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import site
>>> site.getsitepackages()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'getsitepackages'
似乎site.py
没有Python 2.7中应该有的新功能。
有什么建议吗?
编辑:即使我不使用--no-site-packages
,问题仍然存在:
$ virtualenv testenv -p python2.7
Running virtualenv with interpreter /usr/bin/python2.7
New python executable in testenv/bin/python2.7
Also creating executable in testenv/bin/python
Installing setuptools............done.
Installing pip...............done.
$ cd testenv/
$ source bin/activate
(testenv)$ python
Python 2.7.1+ (r271:86832, Apr 11 2011, 18:05:24)
[GCC 4.5.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import site
>>> site.getsitepackages()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'getsitepackages'
答案 0 :(得分:1)
这是在virtualenv的更高版本中修复的错误。我搜索了门票,但找不到合适的门票......
答案 1 :(得分:0)
您正在使用--no-site-packages
,这会导致新环境无法继承现有的网站包。
答案 2 :(得分:0)
可能这不是造成你问题的原因,但是经过4个小时的调试后它帮了我(也是我在1年后回答问题:)。
virtualenv/bin/python
文件必须是可执行文件。
因此...
chmod +x virtualenv/bin/python
在这里工作。