我是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的文件夹。
所以我想我真的被卡住了,有人请吗?
答案 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
希望帮助
欢呼声