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

时间:2012-12-23 18:52:41

标签: 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

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

22 个答案:

答案 0 :(得分:52)

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

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

看看你是否有django包。

如果site-packages中没有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 ...

答案 1 :(得分:36)

sudo pip install django --upgrade 

为我做了诀窍。

答案 2 :(得分:28)

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

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

source python2.7/bin/activate

答案 3 :(得分:18)

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

所以替换

/usr/bin/python

~/projectpath/venv/bin/python

你应该好。

答案 4 :(得分:12)

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

答案 5 :(得分:10)

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

若是,请尝试:

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

1。)

source virtualenvwrapper.sh

source /usr/local/bin/virtualenvwrapper.sh

2。)

workon [environment name]

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

答案 6 :(得分:5)

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

pip install django

此命令将在您的计算机中安装django。如果你没有安装pip。你应该安装点子。 Here how to install pip on windows

答案 7 :(得分:5)

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

  

python manage.py startapp&lt; app_name&gt;

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

答案 8 :(得分:4)

好的,就这样:

你已经创建了一个虚拟环境,而django模块只属于那个环境。因为virtualenv将自己与其他所有东西隔离开来,所以你看到了这个。

请仔细阅读以获得进一步的帮助:

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

1.您可以切换到存储虚拟环境的目录,然后运行django模块。

2.或者,您可以通过运行pip或easy_install

全局安装django到您的python-&gt; site-packages

使用pip命令:pip install django

然后这样做:

import django print(django.get_version())(取决于你使用的是哪个版本的python。这适用于python 3+系列)

然后你可以运行这个:python manage.py runserver并输入:localhost:8000来检查你的web浏览器,你应该看到django powered页面。

希望这有帮助。

答案 9 :(得分:3)

我经历了同样的事情,这就是我的工作。

首先安装

  

pip install -r requirements.txt

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

  

pip install -r requirements.txt

答案 10 :(得分:3)

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

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

$ which python3
>> /usr/bin/python3

使用指定的python3创建了新的virtualenv(使用virtualenv wrapper 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

答案 11 :(得分:2)

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

答案 12 :(得分:2)

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

答案 13 :(得分:2)

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

source bin/activate 

答案 14 :(得分: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"
重新激活之前

答案 15 :(得分:1)

以root身份执行相同的问题。运行命令'python manage.py migrate'。适用于root访问(sudo python manage.py migrate)

答案 16 :(得分:1)

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

sudo pip install django --upgrade 

答案 17 :(得分:0)

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

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

如果它仍然无效,请尝试pip install django

希望有所帮助

答案 18 :(得分:0)

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

workon virtual_enviornment_name

答案 19 :(得分:0)

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

答案 20 :(得分:-1)

我在尝试使用 python manage.py runserver 时遇到了同样的问题。在我的情况下,我只使用 sudo su 。将终端用作root并再次尝试,它可以部分工作。所以我使用 python manage.py migrate 命令并修复它。

答案 21 :(得分:-1)

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

python manage.py startapp polls