ImportError:使用manage.py时没有名为django.core.management的模块

时间:2015-05-22 06:28:58

标签: python django python-2.7 importerror django-manage.py

我正在尝试在我拥有的Django应用程序上运行python manage.py runserver,我收到此错误:

Traceback (most recent call last):
File "manage.py", line 8, in <module>
 from django.core.management import execute_from_command_line
ImportError: No module named django.core.management

这是pip freeze | grep -i django的输出,表明我确实安装了Django:

Django==1.6.5
django-cached-authentication-middleware==0.2.0
django-cors-headers==1.1.0
django-htmlmin==0.7.0
django-static-precompiler==0.9
djangorestframework==2.3.14

此外,尝试运行/usr/local/bin/python2.7 manage.py runserver会产生相同的错误。

14 个答案:

答案 0 :(得分:24)

可能导致您出现问题的问题:

  1. PYTHONPATH配置不正确,配置它你应该这样做:

    export PYTHONPATH=/usr/local/lib/python2.7/site-packages
    
  2. 您忘记了manage.py开头的行#!/usr/bin/env python

  3. 如果您正在使用virtualenv,则忘记激活虚拟环境以执行manage.py命令(您可能已在系统上安装了Django但未安装在virtualenv上)

    source path/to/your/virtualenv/bin/activate
    

    workon env_name
    
  4. 你有Python 2.7和Python 3.4搞乱包

  5. 您使用的是非常旧的Python 2.4,您应该告诉系统使用Python 2.7:

    alias python=python2.7
    
  6. 有些时候重新安装/升级Django可以解决其中的一些问题。

    您可能想要执行

    python -c "import django; print(django.get_version())"
    

    检查您的PC上是否安装了Django,或者如果您使用的是你的virtualenv

    您可以在其他类似问题中找到其他一些解决方案:

答案 1 :(得分:10)

为解决我的问题,我在.zprofile中使用了以下行:

export PYTHONPATH=/usr/local/lib/python2.7/site-packages

我试图导入Django并且无法找到它,并且执行上述操作解决了这个问题。

答案 2 :(得分:3)

我通过运行以下命令解决了同样的错误:

python3.4 manage.py runserver

上面的命令为我成功执行了。所以你可以尝试的是,如果你使用python 2.7,那么只需用2.7替换3.4。希望这会有所帮助。

答案 3 :(得分:3)

当我完成所有设置并使用Python3运行django但运行以下命令时,我遇到了同样的问题:

$ python manage.py migrate

使用Python的一致版本修复了该问题:

$ python3 manage.py migrate
Operations to perform:
  Apply all migrations: sessions, auth, admin, contenttypes
Running migrations:
  Rendering model states... DONE
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying sessions.0001_initial... OK

我之前运行的其他命令是:

python3 -m pip install django
django-admin startproject learning_site
python3 manage.py  runserver 0.0.0.0:8000

答案 4 :(得分:2)

如果在Windows系统中使用virtualenv并运行manage.py runserver,cmd将使用system的python,而不是virtualenv中的python。 因为如果在系统中安装python,cmd将自动使用系统中安装的python,而不是virtualenv中的python。 因此,如果您在Windows中使用virtualenv。你需要运行

>python .\manage.py runserver

答案 5 :(得分:1)

该错误是由用户环境引起的。实际上,我只是将PATR的virtuel环境bin路径添加起来,问题就解决了。

PATH=/bin/of_virtualenvironment/:$PATH

答案 6 :(得分:1)

直接问题是缺少django包。对我来说,当我在virtualenv中运行django时,在重命名我的工作目录后会出现此问题。

重新安装env对我有用。

答案 7 :(得分:0)

在你的django文件所在的位置,检查django-admin.py的第一行:

#!/usr/bin/env python

如果你使用python 3+,python这里可能引用python2。所以检查你用django安装哪个python。

ls -l $(which -a python3)

如果您确实安装了python3但未链接为python,请将第一个shebang行更改为

#!/usr/bin/env python3

答案 8 :(得分:0)

此外,请确保您没有将.bashrcalias混为一谈。 如果.bashrc包含alias python="/usr/bin/python3"等内容,则会出现此类错误。

答案 9 :(得分:0)

我发现我可以从python解释器导入django模块,但是当从命令行运行时,django-admin.py无法导入它。

我确认我在虚拟环境中使用了python解释器。

我使用的是64位版本的python。卸载并安装32位版本,然后重新创建我的venv为我解决了这个问题。

答案 10 :(得分:0)

仅使用我的项目即可解决同一问题;

pip install -r requirements.txt

我不需要做任何其他事情。当我运行./manage.py runserver时,一切正常!

答案 11 :(得分:0)

使用Pycharm转到“配置”,添加 runserver 8080 设置参数,或者我通过重新启动计算机解决了问题。 我不必更改pip或安装其他任何东西,请首先尝试我列出的第一种方法,如果您可以通过PyCharm箭头图标运行manage.py,它将可以使用,如果您想返回到终端并键入python manage.py runserver:port尝试重新启动计算机。

答案 12 :(得分:0)

在这里尝试解决方案对我不起作用。重新安装Django并升级pip消除了该错误,当我运行 python migrate.py runserver

时,一切都按预期工作

这是我使用的CLI命令:

python -m pip安装Django

python -m pip install --upgrade pip

答案 13 :(得分:-1)

我通过在我正在处理的虚拟环境中安装django解决了这个问题