2013-10-13 45 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

希望幫助

歡呼

相關問題