我环顾四周,所以我发现我的问题的答案不允许我解决它。Virtualenv不断加载在Windows上的全球网站包
我想用孤立的virtualenv环境,但由于种种原因,一直virtualenv中加载全球站点上的包,当Django的壳...
我试图清理PATH变量,直到只有c:\仍保留Python26 \ Scripts和c:\ Python26。然后我创造我的环境。
virtualenv --distribute --no-site-packages myproject
然后激活virtualenv。 PATH现在是(无关瓦尔报废):
PATH=E:\Development\django_projects\myproject\Scripts;C:\Panda3D-1.7.0\python;C:\Panda3D-1.7.0\bin;c:\python26\Scripts;
PYTHONPATH=C:\Panda3D-1.7.0\
到目前为止,一切都很好。我推出Python ...
>>> import django
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named django
让我们试试一个模块我确定是在我的c:\ python site-packages目录下。
>>> import BeautifulSoup
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named BeautifulSoup
耶!没有全球网站包!然后到下一个。在命令提示符下,I型:
django-admin.py
和它的作品!但是等等...我还没有安装Django。这怎么可能?
之后,它变得更加怪异......我首先将这些添加到virtualenv的activate.bat脚本中,以便Django可以找到我的设置。
set PYTHONPATH=E:\Development\django_projects\myproject\
set DJANGO_SETTINGS_MODULE=settings.development
现在我启动django-admin.py壳
In [1]: import BeautifulSoup
In [2]: BeautifulSoup.__file__
Out[2]: 'C:\\Python26\\lib\\site-packages\\BeautifulSoup.pyc'
这怎么可能?
洞察力
虽然打字时的闪光,我突然明白了。 .py是一个文件扩展名,加上我的c:\ python26 \ python.exe可执行文件,而不是virtualenv!
python manage.py
Traceback (most recent call last):
File "manage.py", line 2, in <module>
from django.core.management import execute_manager
ImportError: No module named django.core.management
heh。任何人有任何想法如何将.py文件扩展名耦合到我的virtualenv的python可执行文件而不是系统定义的python可执行文件?
*如何夫妇.py文件扩展我的virtualenv的python的可执行文件*请参阅[为什么不能在Windows准VIRTUALENV的.py/.pyw/.pyo与virtualenv中的Python版本的可执行文件/ pyc文件?(HTTP ://stackoverflow.com/q/4879624/95735)和[单CMD.EXE会话临时文件关联(http://stackoverflow.com/q/5583024/95735) – 2012-05-24 17:33:11