Django:没有名为django.core.management的模块

时间:2013-10-13 07:36:32

标签: python django

我是Django的新手,想要探索这个着名框架的力量。

完成所有设置后我跑了

sudo python manage.py syncdb

我收到此错误

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

我使用virtualenv和virtualenvwrapper,并通过发出workon命令激活了我的工作virtualenv。

另外,当我跑which python时,我得到了这个:

/home/myname/Envs/EnvName/bin/python

pip freeze| grep - django返回:

Django==1.5.4
django-toolbelt==0.0.1

我的manage.py的第一行是#!/usr/bin/env python

另外

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

给出

/home/myname/Envs/EnvName/lib/python2.7/site-packages

在这个目录中,我看到一个名为django的文件夹。

所以我想我真的被卡住了,有人请吗?

2 个答案:

答案 0 :(得分:8)

这第一行可能会使用/usr/bin/env中的python。

在这种情况下你可以尝试两件事:

1)如果你还没有,你应该激活你的virtualenv,然后安装Django:

source /home/myname/Envs/EnvName/bin/activate
pip install django

2)删除manage.py的第一行,因为你使用python manage.py ...,所以我不会有任何问题,除非你之前没有activated你的virtualenv。


更新:

实际上没有什么比这更好的了。 Python找不到django,所以你需要activate(我认为你已经做过)和pip install django


另一个更新:

你的问题实际上更容易解决。您正在尝试sudo python manage.py syncdb,当您使用sudo时,您无法从virtualenv访问python,因此只需删除sudo即可运行所有内容。

答案 1 :(得分:0)

系统。

也许你已经解决了。但我发布这个给后来的研究员。

尝试:

  

which python sudo which python

看到不同之后。 你能做到:(你的env激活:源激活)

  

sudo`哪个python` manage.py shell

希望帮助

欢呼声