2013-10-13 14 views
7

Ich bin ein Django-Neuling und möchte die Macht dieses berühmten Rahmens erkunden.Django: Kein Modul namens django.core.management

Nachdem alle Setups lief ich

sudo python manage.py syncdb,

und ich bekomme diese Fehlermeldung

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 

Ich benutze virtualenv und virtualenvwrapper, und ich meine Arbeits virtualenv aktiviert durch einen workon Befehl ausgibt.

Auch wenn ich which python lief, habe ich dies:

/home/myname/Envs/EnvName/bin/python,

und pip freeze| grep - django kehrt:

Django==1.5.4 
django-toolbelt==0.0.1 

Die erste Zeile meines manage.py ist #!/usr/bin/env python.

Auch

python2.7 -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"

gibt

/home/myname/Envs/EnvName/lib/python2.7/site-packages

und in diesem Verzeichnis, ich einen Ordner mit dem Namen django sehen.

Also ich denke, ich bin wirklich fest, jemand bitte?

+0

Eines Ihrer Probleme ist, dass Sie 'sudo' verwenden. –

Antwort

8

Diese erste Zeile macht es wahrscheinlich Ihre Python von /usr/bin/env verwenden.

Sie zwei Dinge in diesem Fall versuchen könnte:

1) Wenn Sie nicht bereits getan hat, sollten Sie Ihre virtualenv aktivieren und dann installieren Django:

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

2) entfernen erste Zeile verwalten .py was ich nicht thing würde ein Problem sein, da du python manage.py ... verwendest, es sei denn du hast vorher deine activated deine virtualenv nicht.


UPDATE:

Es gibt wirklich nichts ist, was es sagt. Python konnte Django nicht finden, also müssen Sie nur activate (was ich denke, dass Sie bereits getan haben) und pip install django.


ANOTHER UPDATE:

Ihr Problem sein wirklich einfacher zu lösen. Sie versuchen sudo python manage.py syncdb und wenn Sie mit Sudo tun, greifen Sie nicht auf Python von virtualenv, also entfernen Sie einfach Sudo und alles sollte laufen.

+0

Danke für deine schnelle Antwort, aber wie ich schon sagte, ich habe meinen virtualenv aktiviert und django installiert, 'pip install django' gibt' Anforderungen bereits erfüllt' – MathCs

+0

Sorry, habe deine erste Zeile nicht wirklich angeschaut. Ihr Problem ist viel einfacher zu lösen. Sehen Sie sich den ANDEREN UPDATE-Teil meiner Antwort an. –

+0

Wenn ich gerade 'python manage.py syncdb' ausgeführt habe, habe ich' OperationalError: (1044, "Zugriff verweigert für Benutzer '' @ 'localhost' auf Datenbank 'projecr_database'") ' – MathCs

0

System.

Vielleicht reparieren Sie es bereits. Aber ich poste dies für spätere Gefährten.

Versuch:

which python sudo which python

, nachdem Sie die verschiedenen sehen. Sie sind in der Lage zu tun: (mit Ihnen aktiviert env: Quelle activate)

sudo `which python` manage.py shell

Hoffnung hilft

prost