Django - "没有名为django.core.management的模块"

Kra*_*mir 96 python django

尝试从命令行运行Django时出现以下错误.

File manage.py, line 8, in <module>
     from django.core.management import execute_from_command_line
ImportError: No module named django.core.management
Run Code Online (Sandbox Code Playgroud)

关于如何解决这个问题的任何想法?

Rav*_*viU 52

听起来你没有安装django.您应该检查此命令生成的目录:

python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"
Run Code Online (Sandbox Code Playgroud)

看看你是否有django包.

如果site-packages中没有django文件夹,那么你没有安装django(至少对于那个版本的python).

你可能安装了多个版本的python,django在另一个版本中.如果键入python,则可以找到python的所有版本,然后按Tab键.以下是我所拥有的所有不同的python.

$python
python            python2-config    python2.6         python2.7-config  pythonw2.5
python-config     python2.5         python2.6-config  pythonw           pythonw2.6
python2           python2.5-config  python2.7         pythonw2          pythonw2.7
Run Code Online (Sandbox Code Playgroud)

您可以为每个版本的python执行上述命令,并查看每个版本的site-packages目录,看看它们是否安装了django.例如:

python2.5 -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"
python2.6 -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"
Run Code Online (Sandbox Code Playgroud)

如果您碰巧在python2.6中找到django,请尝试使用原始命令

python2.6 manage.py ...
Run Code Online (Sandbox Code Playgroud)


Cod*_*ree 39

sudo pip install django --upgrade 
Run Code Online (Sandbox Code Playgroud)

为我做了诀窍.

  • 你的回答对我有用,所以我给了它一个upvote.但是,仅仅你的答案是不够的,因为当我运行`sudo pip install django --upgrade`时它给了我一个新的错误:`没有名为psycopg2的模块.所以,我运行了`sudo pip install psycopg2 --upgrade`,它就行了. (4认同)
  • 原来我没有安装django ......即使我之前在机器上使用过它.奇怪的. (2认同)

Ana*_*gha 29

我得到了同样的错误,我以这种方式修复它:

我必须使用以下命令激活我的虚拟环境

source python2.7/bin/activate
Run Code Online (Sandbox Code Playgroud)


mgP*_*ePe 19

最有可能在您manage.py的第一行开始,!/usr/bin/python这意味着您使用系统全局python而不是虚拟环境中的那个.

所以更换

/usr/bin/python
Run Code Online (Sandbox Code Playgroud)

~/projectpath/venv/bin/python
Run Code Online (Sandbox Code Playgroud)

你应该好.


小智 12

好吧,我在安装virtualenv和django之后今天遇到了同样的错误.对我来说,我曾经使用sudo(sudo pip install django)来安装django,而我正在尝试运行没有sudomanage.py runserver.我刚刚添加了sudo并且它有效.:)


小智 10

您是否正在使用虚拟环境虚拟环境?你在Mac上吗?

如果是这样试试这个:

在命令行中输入以下内容以启动虚拟环境,然后对其进行操作

1.)

source virtualenvwrapper.sh
Run Code Online (Sandbox Code Playgroud)

要么

source /usr/local/bin/virtualenvwrapper.sh
Run Code Online (Sandbox Code Playgroud)

2.)

workon [environment name]
Run Code Online (Sandbox Code Playgroud)

注意(来自新手) - 不要在您的环境名称周围加上括号


Rah*_*tal 5

我在运行命令时遇到同样的问题 -

python manage.py startapp <app_name>

但问题是我在虚拟环境中运行该命令.所以先激活你的虚拟环境并再次运行命令 -


Har*_*GUL 5

在您的计算机上未安装django时会发生此问题.当没有安装django时,这意味着django.core.management模块也没有安装.所以它没有找到这个模块,它给出了错误.
为了解决这个问题,我们应该使用pip安装django.打开命令行cmd(在Windows上)并键入为

pip install django
Run Code Online (Sandbox Code Playgroud)

此命令将在您的计算机中安装django.如果你没有安装点.你应该安装点子.这里如何在Windows上安装pip


小智 5

我经历了同样的事情,这就是我所做的。

首先我的安装

pip install -r requirements.txt

不在我的活跃环境中。所以我做的是激活我的环境然后再次运行

pip install -r requirements.txt