django import error - 没有名为core.management的模块

gra*_*ntk 180 python django python-import pythonpath

好的,我看到很多这些错误.我已经尝试过我所知道的所有事情并且尚未弄清楚这一点.

我正在开发运行python 2.5和Django 1.3的开发服务器.在解压缩tar.gz下载后,使用python setup.py install安装了Django 1.3.

一切运作良好,我很少需要运行,manage.py但我正在尝试使用新的静态文件应用程序,并遇到问题.

python manage.py collectstatic
Traceback (most recent call last):
  File "manage.py", line 2, in <module>
    from django.core.management import execute_manager
ImportError: No module named core.management
Run Code Online (Sandbox Code Playgroud)

好的,我有PATH问题.

Django安装我仔细检查我的site-packages目录.

python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"
/usr/lib/python2.5/site-packages
Run Code Online (Sandbox Code Playgroud)

好吧,让我们看看我有什么,echo $ PYTHON_PATH是空的,所以我设置它

export PYTHON_PATH=/usr/lib/python2.5/site-packages/django
Run Code Online (Sandbox Code Playgroud)

仍然没有运气.让我们检查一下sys.path的含义

>>> import sys
>>> print sys.path
['', '/usr/lib/python2.5', '/usr/lib/python2.5/plat-linux2', '/usr/lib/python2.5/lib-tk', '/usr/lib/python2.5/lib-dynload', '/usr/local/lib/python2.5/site-packages', '/usr/lib/python2.5/site-packages', '/usr/lib/python2.5/site-packages/PIL', '/usr/lib/python2.5/site-packages/django', '/var/lib/python-support/python2.5']
Run Code Online (Sandbox Code Playgroud)

路径在那里,我甚至用内容创建了/usr/lib/python2.5/site-packages/django.pth

cat /usr/lib/python2.5/site-packages/django.pth 
/usr/lib/python2.5/site-packages/django/
Run Code Online (Sandbox Code Playgroud)

有人知道这里发生了什么吗?

我在路径中找到了一个符号链接,但没有出现新的错误.

python manage.py collectstatic
Traceback (most recent call last):
  File "manage.py", line 14, in <module>
    execute_manager(settings)
  File "/usr/lib/python2.5/site-packages/django/core/management/__init__.py", line 438, in execute_manager
    utility.execute()
  File "/usr/lib/python2.5/site-packages/django/core/management/__init__.py", line 349, in execute
    version=get_version(),
  File "/usr/lib/python2.5/site-packages/django/__init__.py", line 12, in get_version
    from django.utils.version import get_svn_revision
ImportError: No module named utils.version
Run Code Online (Sandbox Code Playgroud)

我还尝试创建一个新项目,看看是否有任何问题,并获得相同的utils.version错误.

侧节点:来自#django的unode帮了我一点,在同一台机器上设置了virtualenv并且错过了所以仍然不确定这里的实际安装是什么,但它似乎不是在django项目中而是在django中/ python安装.

Ste*_*e K 162

如果像我一样,你是在运行你的django并且出现这个错误,请看看你的manage.py.第一行应该定义用于运行脚本的python可执行文件.这应该是你的virtualenv的python的路径,但它是像/ usr/bin/python这样的错误,它不是相同的路径,将使用全局python环境(并且将丢失包).只需将路径更改为virtualenv中python可执行文件的路径即可.

你也可以用你的shebang线代替#!/usr/bin/env python.这应该使用适当的python环境和解释器,前提是你首先激活你的virtualenv(我假设你知道如何做到这一点).

  • 或者像`<path-to-my-env>/bin/python manage.py runserver`一样运行 (26认同)
  • 另外,呃...记得激活virtualenv.D'哦! (7认同)

eli*_*n3t 39

如果您在virtualenv中,则需要在运行之前激活它./manage.py'command'

source path/to/your/virtualenv/bin/activate
Run Code Online (Sandbox Code Playgroud)

如果你在.bash_profile或.bashrc中配置workon

workon yourvirtualenvname
Run Code Online (Sandbox Code Playgroud)

*请不要编辑您的manage.py文件也许不是正确的方式工作,可能会给你未来的错误

  • Doh ...忘了激活virtualenv.谢谢! (4认同)

avi*_*ano 29

我遇到了同样的问题,因为我是以超级用户身份安装Django,因此不在我的virtualenv中.你不应该这样做sudo pip install Django

而是以这种方式安装它:

$ source ./bin/activate
$ pip install Django
Run Code Online (Sandbox Code Playgroud)


sat*_*els 14

请用pip重新安装django:

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

(将1.3替换为你的django版本)

  • 不建议.使用`sudo`安装到系统目录中会干扰本机程序包,并且最有可能打破python安装的某些部分.我推荐virtualenv. (25认同)
  • 谢谢,但没有帮助. (2认同)

gra*_*ntk 10

众所周知,这是一个路径问题.

我的自定义包的基础与/ etc/profile中设置的目录共享一个名称.对于网络服务器,这些包位于不同的位置.所以我从我的$ PYTHONPATH中移除了有问题的条目并且很好!

谢谢您的帮助.


nut*_*uts 9

这个问题的另一个可能原因是,你的操作系统默认运行python3.

要么你明确地做: python2 manage.py

或者您编辑manage.py的shebang,如下所示:

#!/usr/bin/env python2
Run Code Online (Sandbox Code Playgroud)


d1j*_*i1b 7

试图运行在嵌入式系统(当然使用Django的)我有这个错误树莓派2(并且不是一个VM)

运行这个:

 sudo pip install Django
Run Code Online (Sandbox Code Playgroud)

诀窍!

  • 以防万一使用Raspbian/Jessie的人得到这个


M K*_*M K 5

你可能正在使用virtualenvwrapper.不要忘记通过运行来选择您的环境:

$ workon env_name
Run Code Online (Sandbox Code Playgroud)


小智 5

python3 manage.py runserver
Run Code Online (Sandbox Code Playgroud)

检查Python版本