Python 2.7 под virtualenv: сломанный `site.py` - PullRequest
4 голосов
/ 21 мая 2011

Когда я создаю новый virtualenv с Python 2.7, я не могу использовать 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'

Ответы [ 3 ]

1 голос
/ 17 октября 2012

Это была ошибка, исправленная в более поздних версиях virtualenv.Я искал билеты, но не смог найти нужный ...

0 голосов
/ 21 июня 2012

Вероятно, это не то, что вызывает вашу проблему, но это помогло мне после 4 часов отладки (также я отвечаю на вопрос 1 год спустя:).

Файл virtualenv/bin/python должен быть исполняемым.

Итак ...

chmod +x virtualenv/bin/python

работал здесь.

0 голосов
/ 21 мая 2011

Вы используете --no-site-packages, в результате чего новая среда не наследует существующие пакеты сайта.

...