导入django.core的Python + Django + Virtualenv失败了

时间:2013-02-27 09:19:50

标签: python django path virtualenv

我在Windows 7上使用Python 2.7.3。 我将PATH设置为C:\python27,这是一个原始的python二进制路径。

首先,我制作了一个名为“django”的新Virtualenv,没有任何选项,

virtualenv django

其次,激活了Virtualenv,

c:\workspace\py-envs\django\Scripts\activate

第三,使用pip安装Django,

pip install django

第四,刚刚执行了django-admin.py startproject SOME_NAME,如下所示。

然后,我在导入django.core包时遇到了问题。

FAILED

(django) c:\workspace\python>django-admin.py startproject a
(django) c:\workspace\python>python django-admin.py startproject a
(django) c:\workspace\python>c:\py-envs\django\Scripts\python django-admin.py startproject a

错误消息

Traceback (most recent call last):
  File "C:\workspace\py-envs\django\Scripts\django-admin.py", line 2, in <module>
    from django.core import management
ImportError: No module named django.core

保护正常工作

(django) c:\workspace\python>python c:\py-envs\django\Scripts\django-admin.py startproject a

选中

  • django-admin.py存在于c:\py-envs\django\Scripts\
  • virtualenv在PATH中添加C:\py-envs\django\Scripts\行(使用echo%PATH%检查)
  • pip freeze结果只显示Django == 1.5

我想使用第一个命令启动一个项目:

python django-admin.py startproject a

我还能做些什么?

2 个答案:

答案 0 :(得分:2)

在虚拟环境(virtualenv)下,调用django-admin的唯一默认方式是django-admin.py调用它。

以下作品:

  • django-admin.py startproject PROJECT_NAME

以下内容不是:

  • django-admin startproject PROJECT_NAME
  • python django-admin startproject PROJECT_NAME
  • python django-admin.py startproject PROJECT_NAME

答案 1 :(得分:1)

这是因为windows python解释器总是使用全局解释器而不是当前的python virtualenv解释器。

例:
C:\ python27 \ python.exe #windows总是使用它

而不是这个

C:\ ENVS \ my_env \脚本\ python.exe

在官方文档中,我发现了这个: http://docs.python.org/2/using/cmdline.html?highlight=#-m
“当使用-m module-name调用时,给定模块位于Python模块路径上并作为脚本执行。”

如果您输入控制台,回显%PATH%,将首先看到virtualenv路径。因此

(django) c:\workspace\python>python -m django-admin startproject my_new_project  

应该有效