Единственный возможный способ, который мне известен, - это если вы создали свой virtualenv с аргументом --no-site-packages:
из Здесь :
Если вы собираете с помощью ENV virtualenv --no-site-packages, он не будет наследовать какие-либо пакеты из /usr/lib/python2.5/site-packages (или там, где находится ваш глобальный каталог site-packages).Это может быть использовано, если у вас нет контроля над пакетами сайта и вы не хотите зависеть от пакетов там, или вы просто хотите большей изоляции от глобальной системы.
, так вотпример, чтобы понять больше:
Сначала я создам virtualenv обычно (без --no-site-package), и вы увидите, что я всегда могу получить доступ к django, который установлен в моих системных пакетах сайта (или dist-packages ):
$ virtualenv A
New python executable in A/bin/python
Installing setuptools............done
$ source A/bin/activate
(A)$ python
Python 2.6.5 (r265:79063, Apr 16 2010, 13:57:41)
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
>>> django.__file__
'/usr/local/lib/python2.6/dist-packages/django/__init__.pyc'
Но теперь я создам виртуальную среду, используя --no-site-package:
$ virtualenv B --no-site-package
New python executable in B/bin/python
Installing setuptools............done.
$ source B/bin/activate
(B)$ python
Python 2.6.5 (r265:79063, Apr 16 2010, 13:57:41)
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named django
Теперь вы видите, чтоvirtaulenv смог получить доступ к django из системы dist-packages ( ubuntu ) на моей машине.
Надеюсь, это поможет:)