it-swarm.com.de

Kein Modul mit dem Namen Django.core

Ich habe die neueste Version 1.0.2 von Django nach der Deinstallation meiner alten Version von Django auf den neuesten Stand gebracht. Wie kann ich das beheben?

Traceback (most recent call last):
  File "C:\Python25\Lib\site-packages\Django\bin\Django-admin.py", line 2, in <module>
    from Django.core import management
ImportError: No module named Django.core
66
Poorna

Sie müssen sicherstellen, dass Django in Ihrem PYTHONPATH ist.

Führen Sie zum Testen einfach einen import Django von einer Python-Shell aus. Es sollte keine Ausgabe geben:

ActivePython 2.5.1.1 (ActiveState Software Inc.) based on
Python 2.5.1 (r251:54863, May  1 2007, 17:47:05) [MSC v.1310 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import Django
>>>

Wenn Sie Django über setuptools (easy_install oder mit dem in Django enthaltenen setup.py) installiert haben, überprüfen Sie in Ihrem site-packages, ob die .pth-Datei (easy-install.pth, Django.pth, ...) auf den richtigen Ordner verweist.

HIH.

36
Fil

Ich habe das gleiche Problem unter Windows und es scheint, dass ich das Problem gefunden habe. Ich habe sowohl 2.7 als auch 3.x installiert. Es scheint etwas mit dem Partnerprogramm von .py zu tun zu haben:

In der Befehlszeile: 

assoc .py

und das Ergebnis ist:

.py = Python.File

was bedeutet, dass .py mit Python.File verbunden ist

dann habe ich es versucht:

ftype Python.File

Ich habe:

Python.File = "C:\Python32\python.exe" "% 1"% *

was bedeutet, dass .py in der Befehlszeile mit meiner Installation von Python 3.2 zusammenhängt - und deshalb kann ich nicht einfach "Django-admin.py blah blah" eingeben, um Django zu verwenden.

Alles was Sie tun müssen, ist den Verband zu ändern:

ftype Python.File = "C:\Python27\python.exe" "% 1"% *

dann ist alles in Ordnung!

41
Noah

Sie können dieses Problem umgehen, indem Sie den vollständigen Pfad zu Ihrer Datei Django-admin.py angeben

python c:\python25\scripts\Django-admin.py startproject mysite
22
Niyaz

Heute bin ich auf dieses Problem gestoßen. Es stellte sich heraus, dass ich C:\Python26 im Pfad hatte und .py-Dateien mit Python 3.1 verknüpft waren. Durch das Reparieren der richtigen Version von Python (entweder über Programme und Funktionen oder durch Ausführen der MSI-Datei) werden die Zuordnungen behoben.

16
Steve McKay

Es war für mich ein PYTHONPATH-Umgebungsvariablenproblem, wie andere bereits erwähnt haben, aber niemand hat wirklich gezeigt, wie man es für Leute setzt, die die zusätzliche Anweisung verwenden können.

Linux (Bash)

Ich habe diese Variable in meiner bashrc-Datei in meinem Home-Ordner festgelegt (.bashrc ist die Datei für mich, da meine Shell/bin/bash ist).

vim ~/.bashrc
export PYTHONPATH=/usr/local/python-2.7.2/lib/python2.7/site-packages:$PYTHONPATH
source ~/.bashrc

Der Pfad sollte sich dort befinden, wo sich Ihre Django-Quelle befindet. Meiner befindet sich unter /usr/local/python-2.7.2/lib/python2.7/site-packages/Django, daher habe ich gerade /usr/local/python-2.7.2/lib/python2.7/site- angegeben. Pakete ohne den Django-Anteil.

OSX

Unter OSX ist der Pfad /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages und Sie können ihn zu /etc/profile hinzufügen:

Sudo echo "PYTHONPATH=/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages:$PYTHONPATH" >> /etc/profile
source /etc/profile
10
Banjer

Ich bin sicher, es hängt mit einem fehlerhaften Setup zusammen, aber ich habe das gleiche Problem und funktioniert einwandfrei, wenn ich es so nenne

c:\somedir>python c:\Python26\scripts\Django-admin.py startproject mysite
9
cmsjr

Wenn Sie Windows verwenden, dürfen Sie 'Django-admin.py' nicht ausführen, da dies Ihre äußere python.exe zur Ausführung aufruft und nicht in den Django in der virtuellen Umgebung eingelesen werden kann. Versuchen Sie "python Django-admin.py", um Ihre python.exe in Ihrer Umgebung zu verwenden. 

7
lichenbo

Das funktionierte für mich mit Bitnami Djangostack:

python apps\Django\django\bin\Django-admin.py startproject mysite
5
Tod

Ich hatte das gleiche Problem in Windows XP. Der Grund war, dass ich mehrere Python-Versionen (2.6.3.2) installiert habe. Der PATH von Windows ist korrekt auf Python26 eingestellt, die PYD-Datei ist jedoch mit Python32 verknüpft. Ich möchte, dass die .py-Datei mit python26 verknüpft ist. Um sie zu lösen, klicken Sie mit der rechten Maustaste auf das * .py-Symbol (z. B. Django-admin.py). -> "Durchsuchen ..." (wählen Sie c:\python26\python.ext) -> "Ok". Dann können wir Django-admin.py im cmd ausführen, ohne dass das expatatorische Präfix "c:\python26\lib\site-packages\Django\bin" benötigt wird.

2
af999

Ich hatte das gleiche Problem und erinnerte mich daran, dass ich iPython am vergangenen Nachmittag installiert hatte. Ich habe iPython deinstalliert und das Problem wurde behoben. Übrigens arbeite ich mit virtualenv. Ich hatte iPython im systemweiten Site-Packages-Verzeichnis installiert. Ich habe iPython also in jeder von mir verwendeten virtuellen Umgebung neu installiert. Nachdem ich iPython gestern installiert hatte, war eine Warnmeldung (von Version 0.13 von iPython) aufgefallen, dass festgestellt wurde, dass ich virtualenv verwende. Wenn ich Probleme habe, sollte ich iPyton in jedem virtualenv installieren.

2
jononomo

Ich weiß, dass dies eine alte Frage ist, aber ich hatte gerade das gleiche Problem. In meinem Fall war es, weil ich virtualenv mit Django verwende. Die .py-Dateierweiterungen in Windows sind jedoch der Python-Hauptinstallation zugeordnet. Das Ausführen von Django-admin.py erfolgt direkt über den Befehl Prompt, so dass die Python-Hauptinstallation ohne Django ausgeführt wird.

Da ich nicht weiß, ob es ein Hash-Pfund-Äquivalent in Windows gibt, habe ich das Problem gelöst, indem Python gefolgt vom vollständigen Pfad der Datei Django-admin.py ausgeführt wurde. Sie können auch das Batch-Skript von virtualenv ändern, um die Dateizuordnungen zu ändern und ändern Sie es wieder, wenn Sie es deaktivieren (obwohl ich nicht sicher bin, wie es geht, da ich mit Batch-Skript nicht wirklich vertraut bin).

Hoffe das hilft,

1
hndr

In meinem Fall bin ich auf OS X Lion und habe Python mit homebrew .__ installiert. Ich habe den gleichen Fehler erhalten, aber keine der hier veröffentlichten Lösungen hat mir geholfen. In meinem Fall musste ich nur das Skript bearbeiten:

vim /usr/local/share/python/Django-admin.py

Und ich bemerkte, dass die erste Zeile falsch war, da sie auf die Python-Installation des Systems hindeutete:

#!/usr/bin/python

Ich habe es gerade modifiziert, um auf die Installation von Homebrew hinzuweisen:

#!/usr/local/bin/python

Und es hat funktioniert :)

1
David Morales

Wenn Ihre Pfadvariablen korrekt sind, können Sie dies über die Python-Shell tun: Stellen Sie im Django.core-Importmanagement sicher, dass Sie "Python" vor "Django-admin.py" als solche einfügen: python Django-admin.py startproject thelittlethings 

1
Mindspam

Ich habe gerade den gleichen ImportError in Windows Vista mit Python 2.7 und 3.2 installiert und virualenv mit Python 2.7 und Django 1.4.3 verwendet.

Ich habe die Dateizuordnung von .py-Dateien im Explorer von 3.2 auf 2.7 geändert. Klicken Sie mit der rechten Maustaste auf eine .py-Datei und ändern Sie die Einstellungen. Ich habe immer noch den ImportError.

Ich habe cmd.exe als Administrator ausgeführt und das frühere ftype-Zeug kopiert. Beachten Sie nach einem Fehler, dass doppelte Anführungszeichen nicht korrekt vom Browser in cmd kopiert werden. Schreibe den Befehl in cmd um, aber ich habe immer noch den ImportError bekommen.

Im Stammverzeichnis der aktivierten virtuellen Umgebung habe ich explizit den Befehl python und den Pfad zu Django-admin.py von dort aus angegeben .(env_p27) C:\Users\Gemmu\env_p27>python .\Scripts\Django-admin.py startproject mysite

Das hat funktioniert.

Vielen Dank für die Hilfe für alle.

1
Gemmu

Die einfachste Lösung, jedoch nicht die eleganteste, besteht darin, die Datei Django-admin.py aus dem Ordner Scripts zu kopieren. Der Ordner "Scripts" befindet sich unter Ihrer Python-Installation. Auf meinem Computer befindet sich C:\Python26\Scripts. Fügen Sie dann Django-admin.py in den Ordner ein, in dem Sie die Datei von ..__ ausführen möchten. Die Verwendung des Systempfads gibt zwar Flexibilität. Dies ist eine besondere Lösung, wenn Sie es eilig haben. Geben Sie zum Beispiel python Django-admin.py Startprojekt fluffyteaspoons ein, und Sie erstellen das Projekt fluffyteaspoons

1
Kieran

Dies ist mir passiert, weil ich pip als Sudo ausgeführt habe, während meine virtualenv so eingerichtet ist, dass sie keine Pakete für externe Websites importiert. Daher wurde Django für den Root-Benutzer installiert, jedoch nicht in der virtualenv, obwohl ich bei Ausführung von Sudo virtualenv aktiviert hatte.

Lösung Wechseln Sie in das Stammverzeichnis, aktivieren Sie venv und führen Sie die Pip-Installation durch.

1
Emil Davtyan

Dies funktionierte auf Mac OS X

Führen Sie im Terminal pythonIn python: .__ aus. sys importieren sys.path drucken

Suchen Sie nach dem Pfad der Site-Pakete. Ich habe dies in der Ausgabe von sys.path gefunden: '/ Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages'

beenden Sie Python. Finden Sie heraus, wo sich Ihre aktuellen Site-Pakete befinden. Meine waren bei /Library/Python/2.6/site-packages 

Nun seien Sie vorsichtig: Prüfen Sie den Inhalt der Website-Pakete, um sicherzustellen, dass er leer ist. Das Verzeichnis /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages sollte also leer sein oder nur eine Readme-Datei enthalten. Wenn ja, löschen Sie dieses Verzeichnis, da Sie gerade einen Symlink erstellen möchten.

ln -s /Library/Python/2.6/site-packages /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages

Wenn Sie den Ordner nicht löschen, wird der Symlink in den Ordner eingefügt. 

Andere Optionen bestehen darin, den Pfad zum sys.path hinzuzufügen. Ich habe die Symlink-Route gewählt, weil ich einige Versionen von Python habe, ich möchte nicht mehrere Versionen von Django und wollte nur auf die bekannte Arbeitskopie verweisen.

1
kd4ttc

Ich hatte das gleiche Problem, es war klar, dass ich ein PYTHONPATH Konfigurationsproblem hatte. Die Lösung ist recht einfach. Erstellen Sie einfach eine Datei mit diesem Namen Django.pth in Ihrem PYTHONHOME\Lib\site-packages-Verzeichnis, wobei PYTHONHOME das Verzeichnis ist, in dem Python installiert ist (mein ist: C:\Python27). Fügen Sie der Django.pth-Datei die folgende Zeile hinzu:

PYTHONHOME\Lib\site-packages\Django

Natürlich müssen Sie PYTHONHOME in das Python-Installationsverzeichnis umwandeln, wie ich es erklärt habe.

Beachten Sie, dass Sie den Django.pth bearbeiten können, um alle Verzeichnisse aufzunehmen, die in die PYTHONPATH aufgenommen werden sollen. Tatsächlich können Sie diese Datei nach Belieben benennen, beispielsweise path.pth, wenn Sie allgemeiner sein und mehrere Verzeichnispfade enthalten möchten.

0
wassimans

Anpacken an was lichenbo sagte ... Wenn Sie Windows benutzen, dann laufen Sie nicht mit 'Django-admin.py' ...

Ich laufe in einer virtuellen Umgebung. Der Pfad und Befehl zum Erstellen eines neuen Projekts sieht folgendermaßen aus: 

(DjangoEnv)  C:\users\timreilly\Envs\Django\Scripts\Django-admin.exe startproject myproject

DjangoEnv ist der Name meiner virtuellen Umgebung.

0
Tim Reilly

Ich mache etwas Radikales. Ich lösche Python und lösche aus Umgebung Variables/PATH this: ;C:\Python26\Scripts;C:\Python26. Und seine Arbeit ...

0
kry

Mir wurde klar, dass dies passiert, weil ich python setup.py install nicht ausgeführt habe. Das schafft die Umgebung.

0
LynxLee

Nachdem ich viel gelesen hatte, fand ich eine Lösung, die für mich funktioniert.

Ich habe

 Django version 1.9.2
  1. Stellen Sie alle Systemvariablen in "Pfad" ein. Keine doppelte Kopie in Benutzervariable noch in PYTHONPATH .  enter image description here

  2. Setzen Sie dann in regedit den Wert

 enter image description here

  1. ein virtuelles Laufwerk wurde im gewünschten Ordner per Befehl erstellt

    virtualenv VENV

  2. Und schließlich in cmd 

verwendeter Befehl

Django-admin.py startproject MySite

***and not this***

python Django-admin.py startproject MySite 

im Stammordner des "VENV"

Und es hat funktioniert

0
hemant c

Vielen Dank für die Veröffentlichung der Frage und der Antworten. Ich habe zwei Python-Versionen installiert, aber root wies auf die/usr/bin-Version, und ich wollte die 2.7-Version von Python in/usr/local/bin verwenden. Nach dem Neuaufbau/Neuinstallieren von Django und mysqldb ist alles in Ordnung und ich erhalte den Fehler nicht.

0
octopusgrabbus

Eine kleine schnelle Lösung ist nur zum Erstellen des Symlinks ln -s $SOMEWHERE/lib/python2.6/site-packages/Django/ ./Django.

0
sultan

Wie üblich konnte ein Installationsskript nicht die weltweiten Lese-/Ausführungsberechtigungen festlegen:)

Sudo find  /usr/lib/python2.5/site-packages/Django -type d -exec chmod go+rx {} \;
Sudo find  /usr/lib/python2.5/site-packages/Django -type f -exec chmod go+r {} \;
0
greg