我需要为.py文件设置关联以使用特定的python版本执行.但我需要仅为单个cmd.exe会话建立此关联(并行会话不应受影响).Windows是否允许这样做?
我怀疑答案是否定的,但是我希望看到一些证据,然后再将这个功能转化为virtualenv.
我已经环顾四周了,我找到问题的答案还没有让我解决它.
我想使用孤立的virtualenv环境,但出于某种原因,virtualenv在django的shell中继续加载全局站点包...
我试图清理PATH变量,直到只剩下c:\ Python26\Scripts和c:\ Python26.然后我创建我的环境.
virtualenv --distribute --no-site-packages myproject
Run Code Online (Sandbox Code Playgroud)
然后我激活virtualenv.PATH现在(无关的vars报废):
PATH=E:\Development\django_projects\myproject\Scripts;C:\Panda3D-1.7.0\python;C:\Panda3D-1.7.0\bin;c:\python26\Scripts;
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
让我们尝试一个我确定在我的c:\ python site-packages目录中的模块.
>>> import BeautifulSoup
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named BeautifulSoup
Run Code Online (Sandbox Code Playgroud)
好极了!没有全球网站套餐!然后到下一个.在命令提示符下,我输入:
django-admin.py
Run Code Online (Sandbox Code Playgroud)
它的工作原理!但是等等......我还没有安装Django.这怎么可能?
在此之后,它变得更加怪异......我首先将这些添加到virtualenv的activate.bat脚本中,以便Django可以找到我的设置.
set PYTHONPATH=E:\Development\django_projects\myproject\
set DJANGO_SETTINGS_MODULE=settings.development
Run Code Online (Sandbox Code Playgroud)
现在我启动django-admin.py shell和
In [1]: import BeautifulSoup
In [2]: BeautifulSoup.__file__
Out[2]: 'C:\\Python26\\lib\\site-packages\\BeautifulSoup.pyc'
Run Code Online (Sandbox Code Playgroud)
这怎么可能呢?
闪光的洞察力
打字时,我突然明白了..py是一个文件扩展名,加上我的c:\ python26\python.exe可执行文件,而不是virtualenv文件!
python manage.py …Run Code Online (Sandbox Code Playgroud)