尝试从命令行运行Django时出现以下错误。
File manage.py, line 8, in <module>
from django.core.management import execute_from_command_line
ImportError: No module named django.core.management
关于如何解决这个问题的任何想法?
答案 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将自己与其他所有东西隔离开来,所以你看到了这个。
请仔细阅读以获得进一步的帮助:
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