Python + Django + 虚拟环境 + Windows

18 投票
2 回答
11149 浏览
提问于 2025-04-17 05:39

我在安装 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 个回答

0

我觉得你的问题在于,你用 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路径可能需要一些调整。我觉得这样是对的,但我已经有一段时间没用过了)

15

我知道这个问题已经很久了,可能对提问者来说不再重要。但因为它在谷歌搜索中排在前面,所以我想留下一个对我有帮助的答案。

简单来说,正确的答案可以在这个链接找到,针对一个类似的问题

严格来说,当你执行 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 文件,使用之前提到的 assocftype 命令行工具来设置特定的 .py 关联。

撰写回答