Windows上的django-admin.py和virtualenv问题 [英] django-admin.py and virtualenv issue on Windows
问题描述
在我的系统中有Django 1.2.3系统安装:
In my system there is Django 1.2.3 installed system wide:
C:\>python -c "import django; print django.get_version()"
1.2.3
C:\>django-admin.py --version
1.2.3
然后,在安装Django 1.2.4的C:\dev中有一个名为 venv 的虚拟环境:
Then there is a virtual environment called venv in C:\dev where I installed Django 1.2.4:
C:\> dev\venv\Scripts\activate.bat
(venv) C:\> python -c "import django; print django.get_version()"
1.2.4
(venv) C:\> django-admin.py --version
1.2.3
我的问题:
- 为什么django-admin.py报告版本1.2.3,如果当前的Python(虚拟)环境安装了django 1.2.4?
- 当 活动时,如何自动使用Django的1.2.4 django-admin.py?
- Why django-admin.py reports version 1.2.3, if the current Python (virtual) environment has django 1.2.4 installed?
- How can I use Django's 1.2.4 django-admin.py automatically when venv is active?
附加信息:
- virtualenv版本:1.5.1,Python版本2.7
- 命令用于创建 venv :
C:\dev\> virtualenv --no-site-packages venv
-
(venv)C:\> echo%PATH%
C:\dev\venv\Scripts; ...其他路径...
中的django-admin.py的shebang: #!C:\dev\Scripts\python.exe
希望你能帮忙,非常感谢。
Hope you can help, many thanks.
推荐答案
这是因为你的窗口有关联的 .py
扩展名全局安装 python.exe
。因此,当您键入 django-admin.py
时,即使您使用的是virtualenv,也会调用全局python,并将其全局django安装在其自身中站点包。尝试 python django-admin.py
以规避关联。
This is because your windows has associated .py
extension with the globally installed python.exe
. Therefore when you type django-admin.py
, even though you're in a virtualenv, the global python is invoked, and it in turn finds your global django installation in its own site-packages. Try python django-admin.py
to circumvent the association.
这篇关于Windows上的django-admin.py和virtualenv问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!