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

Mat*_*hCs 7 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
Run Code Online (Sandbox Code Playgroud)

我使用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
Run Code Online (Sandbox Code Playgroud)

我的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的文件夹.

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

Gui*_*sta 8

它的第一行可能是它使用你的python /usr/bin/env.

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

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

source /home/myname/Envs/EnvName/bin/activate
pip install django
Run Code Online (Sandbox Code Playgroud)

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


更新:

真的没有什么比它说的更多了.Python找不到django,所以你只需要activate(我认为你已经做过)和pip install django.


另一个更新:

你的问题实际上更容易解决.你正在尝试sudo python manage.py syncdb,当你使用sudo时,你没有访问python virtualenv,所以只需删除sudo,一切都应该运行.