2013-10-13 48 views
7

我是Django的新手,想要探索这个着名框架的力量。Django:没有名为django.core.management的模块

所有设置后,我跑了

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

你的一个问题是,你正在使用'sudo'。 –

回答

8

这第一行可能使它使用你的python从/usr/bin/env

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

1)如果您尚未,您应该激活您的virtualenv然后安装Django:

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

2)拆下管理的第一线.py其中我不会是一个问题,因为你使用python manage.py ...,除非你以前没有activated你的virtualenv。


UPDATE:

实在没有什么更多的东西它的说法。 Python找不到Django,所以你只需要activate(我认为你已经做到了)和pip install django


另一个更新:

您的问题,它实际上更简单解决。您正在尝试使用sudo python manage.py syncdb,并且当您使用sudo时,您并未从virtualenv访问python,因此只需删除sudo,并且所有内容都应该运行。

+0

感谢您的快速回复,但就像我说的,我已经安装了virtualenv激活和django,'pip install django'给出'需求已经满足' – MathCs

+0

对不起,没有真正看你的第一行。你的问题要解决起来要简单得多。看看我答案的另一个更新部分。 –

+0

如果我刚刚运行'python manage.py syncdb',我得到了'OperationalError:(1044,“拒绝用户'@'localhost'到数据库'projecr_database'”) ' – MathCs

0

系统。

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

尝试:

which python sudo which python

后,您会看到不同的。 你能够做到:(与你ENV激活:源激活)

sudo `which python` manage.py shell

希望帮助

欢呼

相关问题