麻烦开始使用Django - ImportError:没有名为management的模块

时间:2013-01-31 02:24:59

标签: python django windows heroku virtualenv

首先,我已经阅读了所有能找到类似标题的主题。这肯定是一个转贴,但我看起来并没有找到它。

其次,这是我的设置和我所做的。我在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 :(得分:0)

(在问题编辑和评论中回答。转换为社区维基答案。请参阅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?。由于您可以从shell中import django,因此您的app文件夹C:\Users\myname\projectdir中至少有django,否则您将收到错误消息。如果你从venv中的另一个文件夹打开一个shell,你可以导入django吗?

OP写道:

  

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