【问题标题】:Python + Django + Virtualenv importing django.core failedPython + Django + Virtualenv 导入 django.core 失败
【发布时间】:2013-02-13 00:51:22
【问题描述】:

我在 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 包时遇到了问题。

失败

(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

我还能做什么?

【问题讨论】:

  • @LieRyan 不幸的是,我还没有在正常环境中安装 Django。我只安装在我的虚拟环境中。我还检查了普通环境在 \Scripts 文件夹中没有 django-admin.py 文件,并且 virtualenv 显示正确的版本号。

标签: python django path virtualenv


【解决方案1】:

在虚拟环境下(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

【讨论】:

    【解决方案2】:

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

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

    不是这个

    C:\envs\my_env\Scripts\python.exe

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

    如果您在控制台中键入,echo %PATH%,将首先看到 virtualenv 路径。因此

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

    应该工作

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-02-23
      • 2016-04-06
      • 2017-08-08
      • 1970-01-01
      • 1970-01-01
      • 2012-01-29
      • 2023-03-26
      相关资源
      最近更新 更多