Python + Django + 虚拟环境 + Windows
我在安装 Python + virtualenv + django 的时候遇到了一些问题,需要帮助。
系统:Windows 7,64位
我做了什么? 1) 安装了 Python 2.7.2(32位) 2) 安装了 SetupTools(32位) 3) 安装了 VirtualEnv
E:\APPZ\Console2>C:\Python27\Scripts\easy_install.exe virtualenv
4) 创建了 virtualenv:
E:\APPZ\Console2>virtualenv E:\CODE\wamp\www\AMBIENTES\env
5) 好的,现在我创建了一个 ".bat" 文件来使用我的环境,并把它放在 C:\Windows 里。
C:\Windows\python.bat
cmd.exe /k E:\CODE\wamp\www\AMBIENTES\env\Scripts\activate.bat
到目前为止一切顺利 现在我执行了 python.bat 并安装了 django:
E:\APPZ\Console2>python
E:\APPZ\Console2>cmd.exe /k E:\CODE\wamp\www\AMBIENTES\env\Scripts\activate.bat
(env) E:\APPZ\Console2>cd E:\CODE\wamp\www\AMBIENTES\Django-1.2.7
(env) E:\CODE\wamp\www\AMBIENTES\Django-1.2.7>python setup.py install
django installed (1.2.7) successfully.
然后,问题来了:
(env) E:\CODE\wamp\www\AMBIENTES\Django-1.2.7>E:\CODE\wamp\www\AMBIENTES\env\Scripts\django-admin.py --version
Traceback (most recent call last):
File "E:\CODE\wamp\www\AMBIENTES\env\Scripts\django-admin.py", line 2, in <module>
from django.core import management
ImportError: No module named django.core
(env) E:\CODE\wamp\www\AMBIENTES\Django-1.2.7>
-
有没有人知道我该怎么处理这个问题?
2 个回答
我觉得你的问题在于,你用 python setup.py install
来安装Django的时候,是把Django安装到了你电脑的主目录下的site-packages/dist-packages文件夹里,而不是你虚拟环境里的。
所以,建议你使用pip或者easy_install来安装:
$ pip install Django==1.2.7 --OR -- $ easy_install Django==1.2.7
如果你不能直接从PyPi下载(比如因为公司防火墙等原因),你可以稍微修改一下命令,使用你已经有的源来安装:
$ pip install -f file:///E/CODE/wamp/www/AMBIENTES/ Django==1.2.7
(转换后的Windows路径可能需要一些调整。我觉得这样是对的,但我已经有一段时间没用过了)
我知道这个问题已经很久了,可能对提问者来说不再重要。但因为它在谷歌搜索中排在前面,所以我想留下一个对我有帮助的答案。
简单来说,正确的答案可以在这个链接找到,针对一个类似的问题。
严格来说,当你执行 django-admin.py --version
时,可能调用了错误的Python安装。要检查你使用的是哪个Python,可以在“命令行”中输入 ftype Python.File
。如果显示的不是你虚拟环境中的Python,那你可以重新关联默认的Python:
ftype Python.File="E:\CODE\wamp\www\AMBIENTES\env\Scripts\python.exe" "%1" %*
或者你也可以在命令提示符(cmd.exe)中取消文件关联:
assoc .py=
ftype Python.File=
在你重新关联了 .py
扩展名的程序后,执行Python文件时需要指定完整路径:
E:\CODE\wamp\www\AMBIENTES\env\Scripts\python.exe E:\CODE\wamp\www\AMBIENTES\env\Scripts\django-admin.py --version
如果你愿意,也可以编辑虚拟环境中的 activate.bat
文件,使用之前提到的 assoc
和 ftype
命令行工具来设置特定的 .py
关联。