Windows上的virtualenv:没有超越已安装的软件包

Tom*_*Tom 4 python virtualenv

我目前的设置是Windows上的Python 2.5/Django 1.1.1.我想在一些项目上开始使用Django 1.2,但不能将它用于一切.这就是我为virtualenv做的那种事情.但是,我遇到了一个我从未遇到过的问题,谷歌很难:将Django 1.2安装到virtualenv对我没有任何影响.如果我然后激活环境并做

  • 蟒蛇
  • 进口django
  • django.VERSION

我得到"1.1.1决赛".Django安装在我的环境的site-packages目录中,root中的init文件显示它是1.2.但是,即使我使用--no-site-packages标志创建环境,环境也会回落到1.1.1.我搞砸了什么?

Car*_*yer 9

基于您在bitbucket上提交的错误,看起来您正在使用PYTHONPATH环境变量指向包含Django 1.1.1的一些包的目录.按照设计,PYTHONPATH总是在你的sys.path中排在第一位,即使你已经激活了virtualenv(因为PYTHONPATH在你的直接和即时控制下,人们用它来进行本地覆盖).

在这种情况下,如果您在激活此virtualenv时不想要PYTHONPATH,则需要自己处理; 也许通过创建一个自定义批处理文件,它既可以调用virtualenv的activate.bat,也可以修改PYTHONPATH.