110

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

File manage.py, line 8, in <module>
     from django.core.management import execute_from_command_line
ImportError: No module named django.core.management

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

4

22 回答 22

57

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

python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"

看看你那里是否有 django 包。

如果站点包中没有 django 文件夹,那么您没有安装 django(至少对于该版本的 python)。

您可能安装了多个版本的 python,而 django 位于另一个版本中。如果您键入python然后按 TAB,您可以找到所有 python 版本。这是我拥有的所有不同的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

您可以对每个版本的 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()"

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

python2.6 manage.py ...
于 2012-12-23T19:02:22.643 回答
44
sudo pip install django --upgrade 

为我做了伎俩。

于 2015-03-17T15:51:04.247 回答
30

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

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

source python2.7/bin/activate
于 2013-09-02T11:50:07.713 回答
22

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

所以更换

/usr/bin/python

~/projectpath/venv/bin/python

你应该很好。

于 2013-10-05T10:09:07.200 回答
13

好吧,我今天在安装 virtualenv 和 django 后遇到了同样的错误。对我来说,我使用 sudo ( sudo pip install django ) 来安装 django,而我试图在没有sudo的情况下运行manage.py runserver。我刚刚添加了 sudo 并且它起作用了。:)

于 2014-07-16T17:44:40.777 回答
10

您是否正在使用带有 Virtual Wrapper 的虚拟环境?你在 Mac 上吗?

如果是这样试试这个:

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

1.)

source virtualenvwrapper.sh

或者

source /usr/local/bin/virtualenvwrapper.sh

2.)

workon [environment name]

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

于 2013-10-14T00:29:15.293 回答
7

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

python manage.py startapp <app_name>

但我的问题是我在虚拟环境之外运行该命令。所以只需先激活您的虚拟环境并再次运行该命令 -

于 2015-03-13T14:55:22.457 回答
6

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

首先我的安装

pip install -r requirements.txt

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

pip install -r requirements.txt

于 2016-10-13T00:46:45.480 回答
5

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

pip install django

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

于 2016-04-13T07:13:27.433 回答
4

Okay so it goes like this:

You have created a virtual environment and django module belongs to that environment only.Since virtualenv isolates itself from everything else,hence you are seeing this.

go through this for further assistance:

http://www.swegler.com/becky/blog/2011/08/27/python-django-mysql-on-windows-7-part-i-getting-started/

1.You can switch to the directory where your virtual environment is stored and then run the django module.

2.Alternatively you can install django globally to your python->site-packages by either running pip or easy_install

Command using pip: pip install django

then do this:

import django print (django.get_version()) (depending on which version of python you use.This for python 3+ series)

and then you can run this: python manage.py runserver and check on your web browser by typing :localhost:8000 and you should see django powered page.

Hope this helps.

于 2014-05-03T10:33:37.790 回答
3

如果这对其他人有帮助......我遇到了这个问题,因为我的 virtualenv 默认为 python2.7,而我在使用 Ubuntu 时使用 Python3 调用 Django。

检查我的 virtualenv 使用的是哪个 python:

$ which python3
>> /usr/bin/python3

使用指定的 python3 创建了新的 virtualenv(使用 virtualenv 包装器https://virtualenvwrapper.readthedocs.org/en/latest/):

$ mkvirtualenv --python=/usr/bin/python3 ENV_NAME

python 路径现在应该指向 virtualenv python:

$ which python3
>> /home/user/.virtualenvs/ENV_NAME/bin/python3
于 2014-11-30T22:14:43.797 回答
2

就我而言,我使用的是 Ubuntu。问题可能是我没有以普通用户身份写入该文件夹的权限。您可以简单地sudo在命令之前添加,它应该可以完美运行。就我而言sudo python manage.py syncdb

于 2014-12-05T03:17:53.557 回答
2

如果您更改了 python 项目的目录结构,也会发生这种情况(我这样做了,然后对行为的变化感到困惑)。如果这样做,则需要更改 /bin/activate 文件中的一行。所以,假设你的项目在

/User/me/CodeProjects/coolApp/

并且您的激活文件位于

/User/me/CodeProjects/coolApp/venv/bin/activate

当您设置项目时,您将项目更改为

/User/me/CodeProjects/v1-coolApp/

或者其他的东西。然后你需要打开

/User/me/CodeProjects/v1-coolApp/venv/bin/activate

找到它说的那一行

VIRTUAL_ENV="/User/me/CodeProjects/coolApp"
export VIRTUAL_ENV

并将其更改为

VIRTUAL_ENV="/User/me/CodeProjects/v1-coolApp"

在重新激活之前

于 2013-09-09T12:46:44.153 回答
2

我遇到了同样的问题,并且效果很好,您应该在项目中导航主文件夹而不是键入:

source bin/activate 
于 2016-04-07T13:30:13.407 回答
2

我遇到了同样的问题,我收到此消息的原因是因为我正在执行“manage.py runserver”,而执行“python manage.py runserver”修复了它。

于 2015-09-19T21:08:40.360 回答
2

我的案例我在 mac 上使用了 pyCharm 5。我也有这个问题,运行这个命令后我的问题解决了

sudo pip install django --upgrade 
于 2016-02-14T06:44:30.590 回答
1

有同样的问题。以 root 身份运行命令“python manage.py migrate”。使用 root 访问(sudo python manage.py migrate)工作正常

于 2015-03-04T19:25:53.927 回答
1

您可以这样尝试:(python3 manage.py migrate使 sur 在src/目录中)

您也可以尝试使用pip install -r requirements.txt(让您在迁移后requirements.txt键入时看到文件ls

如果毕竟它仍然不起作用,请尝试pip install django

希望能帮助到你

于 2017-08-22T20:50:03.473 回答
0

我在尝试使用python manage.py runserver时遇到了同样的问题。就我而言,我只使用sudo su。以 root 身份使用终端,然后再试一次,它可以部分工作。所以我使用 python manage.py migrate命令并修复它。

于 2015-01-13T05:58:55.810 回答
0

在运行服务器之前,您必须先选择您的项目, workon your_project_name 然后 键入python manage.py runserver

于 2016-04-23T13:11:03.700 回答
0

这是因为虚拟环境配置。您需要在 Python 的虚拟环境上工作。您应该尝试使用命令提示符,

workon virtual_enviornment_name
于 2021-02-15T01:36:40.163 回答
-1

文件和目录所有权冲突将导致此处出现问题。确保项目下的目录和文件的所有权属于当前用户。(您可以使用带有 -R 选项的 chown 命令更改它们。)尝试重新运行该命令:这解决了我在运行“第一个 Django 应用程序”示例时遇到的问题:

python manage.py startapp polls
于 2013-03-30T02:59:42.027 回答