我当前的设置是在Windows上的python2.5/django1.1.1。我想在一些项目中开始使用django1.2,但不能将其用于所有项目。这正是我要做的事情。然而,我遇到了一个我从未遇到过的问题,也很难通过Google找到:将django1.2安装到virtualenv中对我没有任何影响。如果我激活环境
我得到“1.1.1决赛”。Django安装在我环境的site packages目录中,根目录下的init文件显示它是1.2。但是环境回到了1.1.1,即使我用--no site packages标志创建环境。我搞砸了什么?在
根据您在bitbucket上提交的bug,您似乎在使用PYTHONPATH环境变量来指向包含一些包的目录,包括Django 1.1.1。按照设计,PYTHONPATH总是在您的搜索路径,即使您激活了virtualenv(因为PYTHONPATH在您的直接和直接控制之下,并且人们将其用于本地覆盖)。在
在本例中,如果您不希望在激活virtualenv时使用PYTHONPATH,那么您需要自己处理这个问题;也许可以通过创建一个自定义批处理文件来调用virtualenv的批处理文件激活.bat也修改了PYTHONPATH。在
您可以使用一些工具来诊断这些问题:
要查看django来自何处,请打印
django.__file__
。它将显示指示django在文件系统中的位置的文件。在要查看Python查找包的所有位置,请打印
sys.path
。这是一个目录列表。在要查看导入的情况,请以
python -v
的形式启动python,您将看到许多关于导入包的位置的调试信息。在相关问题 更多 >
编程相关推荐