【问题标题】:Trouble getting started with Django - ImportError: No module named management开始使用 Django 时遇到问题 - ImportError: No module named management
【发布时间】:2013-01-31 02:24:58
【问题描述】:

首先,我已经阅读了所有我能找到的标题相似的主题。这肯定是转贴,但我看了没找到。

其次,这是我的设置和我所做的。我在Windows 7。我正在关注Heroku 的入门指南:https://devcenter.heroku.com/articles/django。我使用他们提供的安装指南来安装Pythonvirtualenvdistributepip (http://docs.python-guide.org/en/latest/starting/install/win/)。我使用 Windows 安装程序安装了Python 2.7,没有其他版本。然后,我完全按照Heroku 指南中列出的步骤进行操作。我不得不使用替代方法来安装psycopg2,但它似乎工作正常。

问题出现了,然后我到了应该运行的步骤

django-admin.py startproject hellodjango .

当我尝试运行命令时出现此错误:

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

我尝试在虚拟环境中手动运行 Python 并导入 django、django.core 和错误文本中指定的行,一切正常:

(venv) C:\Users\myname\projectdir>python
Python 2.7.3 (default, Apr 10 2012, 23:31:26) [MSC v.1500 32 bit (Intel)] on win
32
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
>>> from django import core
>>> import django.core
>>> from django.core import management
>>>

我尝试使用 pip 卸载所有内容,删除虚拟环境,删除项目文件夹,然后重新开始。发生了同样的错误。

这可能很简单,但我无法弄清楚我错过了什么。有什么想法吗?

edit - 另外,我尝试将命令更改为:

django-admin.py startproject projectdir .

但结果相同。

然后我尝试了:

python C:\Users\myname\projectdir\venv\Lib\site-packages\django\bindjango-admin.py startproject projectdir .

但我得到了:

python: can't open file 'C:\Users\wtodom\hdj\venv\Lib\site-packages\django\bindj
ango-admin.py': [Errno 2] No such file or directory

【问题讨论】:

  • 似乎 Django 不在您的 sys.path 上。此外,您尝试的最后一件事有错字 - 应该是 bin\django-admin.py 而不是 bindjango-admin.py
  • @DanHoerst 是的,修正了那个错字让它工作了,你可能是对的,Django 不在路上。我是否以正常方式添加它,我会在我的路径中添加一些东西,还是因为我使用 virtualenv,我需要做一些特别的事情?
  • @DanHoerst 另外,鉴于上面的路径,我到底需要添加什么?我很抱歉这么有需要,但我真的很感谢你的帮助。
  • 查看这个答案,了解如何在 Windows 上向PYTHONPATH 添加内容:stackoverflow.com/questions/3701646/…。由于您可以从外壳程序import django,看来您的应用程序文件夹中至少有 djangoC:\Users\myname\projectdir,否则您会收到错误消息。如果从 venv 中的不同文件夹打开 shell,可以导入 django 吗?
  • @DanHoerst 添加到PYTHONPATH 看起来可以,但我还没有完成。就导入而言,我可以从 venv 中的其他文件夹导入。 (我从项目根目录尝试过,然后我从不属于 Django 路径的子文件夹中尝试过。)

标签: python django windows heroku virtualenv


【解决方案1】:

(在问题编辑和 cmets 中回答。转换为社区 wiki 回答。见 Question with no answers, but issue solved in the comments (or extended in chat)

OP 写道:

我输入了错误的路径(遗漏了一个 \),但现在它可以工作了。如何避免每次都输入django-admin.py 文件的整个文件路径?

@DanHoerst 写道:

查看此答案,了解如何在 Windows 上向 PYTHONPATH 添加内容:How to add to the pythonpath in windows 7?。由于您可以从外壳程序import django,看来您的应用程序文件夹中至少有 djangoC:\Users\myname\projectdir,否则您会收到错误消息。如果从 venv 中的不同文件夹打开 shell,可以导入 django 吗?

OP 写道:

添加到PYTHONPATH 看起来可以,但我还没有完成。就导入而言,我可以从 venv 中的其他文件夹导入。 (我从项目根目录尝试过,然后我从不属于 Django 路径的子文件夹中尝试过。)

【讨论】:

    猜你喜欢
    • 2011-04-08
    • 1970-01-01
    • 1970-01-01
    • 2016-08-01
    • 2017-09-11
    • 2017-03-26
    • 2012-12-28
    • 2013-04-07
    • 2017-03-03
    相关资源
    最近更新 更多