7

我是 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

workon我使用 virtualenv 和 virtualenvwrapper,并通过发出命令激活了我的工作 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 的文件夹。

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

4

2 回答 2

8

第一行可能使它使用您的 python 来自/usr/bin/env.

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

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

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

2) 删除 manage.py 的第一行,因为您正在使用,我认为这不会是一个问题python manage.py ...,除非您之前没有使用activatedvirtualenv。


更新:

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


另一个更新:

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

于 2013-10-13T07:45:59.717 回答
0

系统。

也许你已经解决了。但我把这个贴给后来的人。

尝试:

which python sudo which python

看到不同之后。你可以做到:(激活环境:源激活)

sudo `which python` manage.py shell

希望有帮助

干杯

于 2014-04-10T21:32:02.077 回答