初学Django遇到问题 - ImportError:没有名为management的模块

0 投票
1 回答
2508 浏览
提问于 2025-04-17 14:16

首先,我已经看过所有我能找到的类似标题的讨论。这可能是个重复的问题,但我找了找还是没找到。

其次,这是我的设置和我所做的事情。我在 Windows 7 上。我正在按照 Heroku 的入门指南进行操作,链接是:https://devcenter.heroku.com/articles/django。我使用了他们提供的指南来安装 Pythonvirtualenvdistributepiphttp://docs.python-guide.org/en/latest/starting/install/win/)。我安装了 Python 2.7,没有其他版本,使用的是 Windows 安装程序。然后我完全按照 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 卸载所有东西,删除虚拟环境,删除项目文件夹,然后重新开始。但同样的错误还是出现了。

这可能是个简单的问题,但我就是搞不清楚我缺少了什么。有什么想法吗?

编辑 - 此外,我尝试将命令改为:

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

1 个回答

0

(在问题编辑和评论中回答。已转换为社区维基答案。请参见 没有答案但问题在评论中解决的提问)

提问者写道:

我把路径输入错了(少了一个 \),现在可以用了。请问我怎么才能不每次都输入完整的 django-admin.py 文件路径呢?

@DanHoerst 写道:

可以看看这个答案,了解如何在Windows上添加内容到 PYTHONPATH如何在Windows 7中添加到pythonpath?。因为你能在命令行中 import django,这说明你至少在你的应用文件夹 C:\Users\myname\projectdir 中有django,否则会报错。如果你在虚拟环境中的其他文件夹打开命令行,你能导入django吗?

提问者写道:

添加到 PYTHONPATH 看起来可行,但我还没试过。至于导入,我可以从虚拟环境中的其他文件夹导入。(我先从项目根目录试了,然后又从一个不在Django路径下的子文件夹试了。)

撰写回答