Ok, ich sehe viele dieser Fehler. Ich habe alles versucht, was ich weiß, und muss es noch herausfinden.
Ich arbeite an einem Entwicklungsserver mit Python 2.5 und Django 1.3. Django 1.3 wurde nach dem Entpacken des tar.gz-Downloads mit python setup.py installiert.
Alles funktioniert gut, ich muss selten laufen manage.py
, versuche aber, die neue statische Datei-App zu verwenden, und stoße auf Probleme.
python manage.py collectstatic
Traceback (most recent call last):
File "manage.py", line 2, in <module>
from django.core.management import execute_manager
ImportError: No module named core.management
Ok, also ich habe ein PATH
Problem.
Bei der Django-Installation überprüfe ich mein site-packages
Verzeichnis.
python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"
/usr/lib/python2.5/site-packages
Ok, schauen wir uns an, was ich habe. Echo $ PYTHON_PATH war leer, also habe ich es eingestellt
export PYTHON_PATH=/usr/lib/python2.5/site-packages/django
Immer noch kein Glück. Überprüfen wir, was sys.path zu sagen hat
>>> import sys
>>> print sys.path
['', '/usr/lib/python2.5', '/usr/lib/python2.5/plat-linux2', '/usr/lib/python2.5/lib-tk', '/usr/lib/python2.5/lib-dynload', '/usr/local/lib/python2.5/site-packages', '/usr/lib/python2.5/site-packages', '/usr/lib/python2.5/site-packages/PIL', '/usr/lib/python2.5/site-packages/django', '/var/lib/python-support/python2.5']
Pfad ist da, ich habe sogar /usr/lib/python2.5/site-packages/django.pth mit Inhalten erstellt
cat /usr/lib/python2.5/site-packages/django.pth
/usr/lib/python2.5/site-packages/django/
Hat jemand eine Ahnung, was hier los ist?
Ich fand einen Symlink weiter oben auf dem Weg, der mir im Weg stand, aber keinen Hinweis auf einen neuen Fehler.
python manage.py collectstatic
Traceback (most recent call last):
File "manage.py", line 14, in <module>
execute_manager(settings)
File "/usr/lib/python2.5/site-packages/django/core/management/__init__.py", line 438, in execute_manager
utility.execute()
File "/usr/lib/python2.5/site-packages/django/core/management/__init__.py", line 349, in execute
version=get_version(),
File "/usr/lib/python2.5/site-packages/django/__init__.py", line 12, in get_version
from django.utils.version import get_svn_revision
ImportError: No module named utils.version
Ich habe auch versucht, ein neues Projekt zu erstellen, um festzustellen, ob dort Probleme aufgetreten sind, und den gleichen utils.version-Fehler zu erhalten.
Seitenknoten: Unode von #django hat mir ein bisschen geholfen, virtualenv auf demselben Computer eingerichtet und die Fehler überwunden. Ich bin mir also immer noch nicht sicher, was mit dieser tatsächlichen Installation hier los ist, aber es scheint nicht in den Django-Projekten, sondern im Django zu sein / Python installieren.
quelle
import django
in die Python-Shell eingeben?python manage.py syncdb
?Antworten:
Wenn Sie wie ich Ihren Django in einer virtuellen Umgebung ausführen und diesen Fehler erhalten, sehen Sie sich Ihren an
manage.py
. In der ersten Zeile sollte die ausführbare Python-Datei definiert werden, mit der das Skript ausgeführt wird. Dies sollte der Pfad zum Python Ihres virtualenv sein, aber es ist etwas falsch wie / usr / bin / python, der nicht derselbe Pfad ist und die globale Python-Umgebung verwendet (und Pakete fehlen). Ändern Sie einfach den Pfad in den Pfad zur ausführbaren Python-Datei in Ihrer virtuellen Umgebung.Sie können Ihre Shebang-Linie auch durch ersetzen
#!/usr/bin/env python
. Dies sollte die richtige Python-Umgebung und den richtigen Interpreter verwenden, vorausgesetzt, Sie aktivieren zuerst Ihre virtuelle Umgebung (ich gehe davon aus, dass Sie wissen, wie das geht).quelle
<path-to-my-env>/bin/python manage.py runserver
#!/Users/Chris/virtualenv/my_first_venv/bin/python
oder etwas in dieser Richtung?Wenn Sie sich in einer virtuellen Umgebung befinden, müssen Sie diese aktivieren, bevor Sie den Befehl ./manage.py ausführen können.
Wenn Sie Workon in .bash_profile oder .bashrc konfigurieren
* Bitte bearbeiten Sie Ihre Datei "manage.py" nicht. Möglicherweise funktioniert dies nicht richtig und kann zu zukünftigen Fehlern führen
quelle
Ich hatte das gleiche Problem, weil ich Django als Superuser installiert habe, also nicht in meiner virtuellen Umgebung. Das solltest du nicht tun
sudo pip install Django
Installieren Sie es stattdessen folgendermaßen:
quelle
Bitte installieren Sie django mit pip neu:
(Ersetzen Sie 1.3 durch Ihre Django-Version)
quelle
sudo
zur Installation in den Systemverzeichnissen stört native Pakete und bricht höchstwahrscheinlich zumindest einige Teile Ihrer Python-Installation. Ich würde virtualenv empfehlen.Wie bekannt war dies ein Pfadproblem.
Die Basis meiner benutzerdefinierten Pakete hat einen Namen mit einem Verzeichnis geteilt, das in einem / etc / profile festgelegt ist. Die Pakete befanden sich jedoch für den Webserver an einem anderen Ort. Also habe ich die beleidigenden Einträge von meinem $ PYTHONPATH entfernt und konnte loslegen!
Danke für die Hilfe.
quelle
Ein weiterer möglicher Grund für dieses Problem ist, dass auf Ihrem Betriebssystem standardmäßig python3 ausgeführt wird.
Entweder müssen Sie explizit Folgendes tun:
python2 manage.py
oder Sie müssen den Shebang von
manage.py
wie folgt bearbeiten :oder wenn Sie python3 verwenden:
quelle
#!/usr/bin/env python2.7
Ich hatte diesen Fehler beim Versuch, ein eingebettetes System (natürlich mit Django) auf einem Raspberry Pi 2 (und nicht auf einer VM ) auszuführen.
Führen Sie dies aus:
Hat den Trick gemacht!
quelle
Sie verwenden wahrscheinlich virtualenvwrapper . Vergessen Sie nicht, Ihre Umgebung durch Ausführen auszuwählen:
quelle
Für mich verwendete mein Server Python 2.4. Ich habe einfach Python 2.7 nachgeschlagen, das auf meinem Server installiert war, und einen Alias erstellt.
Wenn Sie mehr wissen müssen, habe ich hier die Lösung gefunden
quelle
Ich habe das gleiche Problem bekommen, als ich versucht habe, eine neue App zu erstellen. Wenn Sie schreiben
python manage.py startapp myapp
, sucht es nach usr / bin / python. Sie benötigen jedoch diese " Python ", die sich im Verzeichnis / bin Ihres virtuellen Umgebungspfads befindet . Ich habe dies gelöst, indem ich den Python-Pfad von virtualenv wie folgt erwähnt habe:quelle
Versuchen Sie, Ihre erste Zeile von manage.py zu ändern.
Veränderung
durch
quelle
#!/usr/bin/env python
durch#!/usr/bin/python
Überprüfen Sie die Version von Python
quelle
Ich habe es gelöst!!!
Nach Ewigkeiten suchen und all diese Vorschläge versuchen , die nicht funktioniert haben, fand ich endlich die Lösung für mein Setup.
Mein Setup / Szenario:
Lösung
Entfernen Sie alle Ordner mit dem Namen django im selben Verzeichnis von manage.py
Das ist richtig ... sobald ich den Ordner "django" entfernt habe, der nur eine __init__.py enthielt Datei ... konnte ich den Server wieder ausführen!
Habe aber keine Ahnung warum
quelle
Beachten Sie für diejenigen unter Ihnen, die Django 1.6 oder höher verwenden , dass execute_manager entfernt wurde . In der zweiten SO-Antwort finden Sie hier eine Lösung .
quelle
Speichern Sie den Python-Python-Pfad in einer Variablen und führen Sie ihn aus. Dies würde die ansonsten fehlenden Pakete einschließen.
quelle
Ich hatte ein ähnliches Problem. PyCharm konnte den Server nicht ausführen, aber ich konnte ihn über die Befehlszeile ausführen. Ich habe versucht, welche Python und dann sichergestellt, dass PyCharm der gleiche Interpreter war und dann funktionierte alles in Ordnung.
quelle
Dieser Fehler tritt normalerweise auf, wenn django nicht installiert ist. Wenn Sie django bereits installiert haben, aber immer noch den gleichen Fehler erhalten, müssen Sie in einer separaten virtuellen Umgebung arbeiten. Sie müssen django auch in Ihrer virtuellen Umgebung installieren. Wenn Sie sich in der Shell einer virtuellen Maschine befinden, gehen Sie einfach folgendermaßen vor:
pip install django
Da die virtuelle Maschine über ein separates Dateisystem verfügt, erkennt sie Django nicht, selbst wenn es auf Ihrem System installiert ist.
quelle
Ich habe dieses Problem behoben, indem ich #PATH = "$ VIRTUAL_ENV / bin: $ PATH" in PATH = "$ PATH: $ VIRTUAL_ENV / bin" geändert habe installierte Python tut.
quelle
================================= LÖSUNG =============== ==========================
Zuerst gehe zu: virtualenv
durch Ausführen des Befehls: source bin / enable
und installieren Sie django, da der Fehler im Zusammenhang mit 'import django' angezeigt wird:
Dann renne:
(Hinweis: Bitte ändern Sie 'runserver' in den Programmnamen, den Sie ausführen möchten.)
Für das gleiche Problem hat es in meinem Fall funktioniert. ================================= Synopsis =============== ==========================
Während der Behandlung der obigen Ausnahme ist eine weitere Ausnahme aufgetreten:
Während der Behandlung der obigen Ausnahme ist eine weitere Ausnahme aufgetreten:
Während der Behandlung der obigen Ausnahme ist eine weitere Ausnahme aufgetreten:
Nach der Installation von Django:
NACH DER ENTSCHLIESSUNG:
Viel Glück!!
quelle
Ihr Projekt wird mit einer alten Version von django-admin.py erstellt, die älter als django1.3 ist
Um dies zu beheben, erstellen Sie ein weiteres Django-Projekt, kopieren Sie die Datei "manage.py" und fügen Sie sie in die alte ein
quelle
Ich stimmte vollkommen zu, dass dies ein Pfadproblem ist, aber fwiw, ich hatte den gleichen Fehler. Dies lag an dem Fehler, beim Einrichten meiner virtuellen Umgebung einen relativen Pfad für meine ausführbare Python-Datei zu verwenden. Ich hatte das getan:
Stattdessen musste ich den vollständigen Pfad zur ausführbaren Python-Datei angeben.
HTH, Harlin
quelle
Quelle ~ / blog-venv / bin / aktivieren
Wählen Sie hier Ihre virtuelle Umgebung aus, um "blog-venv" zu ersetzen.
quelle
File "manage.py", line 8, in <module> from django.core.management import execute_from_ ImportError: No module named django.core.management
Stellen Sie sicher, dass Sie die richtige Python-Instanz mit den richtigen Verzeichnissen auf dem Pfad ausführen. In meinem Fall war dieser Fehler darauf zurückzuführen, dass die
python
ausführbare Datei versehentlich ausgeführt wurde. Ich hatte Django tatsächlich unter dempython2.7
Framework und den Bibliotheken installiert . Das gleiche könnte auch durch virtualenv passieren.quelle
Okay, so geht es:
Sie haben eine virtuelle Umgebung erstellt und das Django-Modul gehört nur zu dieser Umgebung. Da sich virtualenv von allem anderen isoliert, sehen Sie dies.
Gehen Sie dies durch, um weitere Unterstützung zu erhalten:
http://www.swegler.com/becky/blog/2011/08/27/python-django-mysql-on-windows-7-part-i-getting-started/
1.Sie können in das Verzeichnis wechseln, in dem Ihre virtuelle Umgebung gespeichert ist, und dann das Django-Modul ausführen.
2. Alternativ können Sie Django global auf Ihren Python-> Site-Paketen installieren, indem Sie entweder pip oder easy_install ausführen
Befehl mit pip: pip install django
dann mach das:
importiere django print (django.get_version ()) (abhängig davon, welche Version von Python du verwendest. Dies für Python 3+ Serien)
und dann können Sie Folgendes ausführen: python manage.py runserver und in Ihrem Webbrowser überprüfen, indem Sie Folgendes eingeben: localhost: 8000, und Sie sollten eine Seite mit Django-Unterstützung sehen.
Hoffe das hilft.
quelle
Ich habe den Namen der neuen App in die Liste INSTALLED_APPS in der Datei settings.py aufgenommen, "bevor" ich den Befehl startapp ausgegeben habe. Nachdem ich den Listeneintrag entfernt hatte, konnte ich die App erstellen.
quelle
Ich habe dieses Problem gelöst, indem ich stattdessen den Befehl 'django-admin' wie folgt verwendet habe:
django-admin startproject _project_name
entferne einfach das an "django-admin" angehängte ".py"
quelle
Wenn eine Anwendung aufgerufen wird,
site
kann dieses Problem ebenfalls reproduziert werden.quelle
Ich habe dies erhalten, weil ich vergessen habe, dass ich Django mit installiert habe
pip -U
, sodass es nur dem Benutzer zur Verfügung stand, der meine Django-App ausführt. Um manage.py auszuführen, musste ich tunquelle
Ihr alle habt keinen Fall erwähnt, in dem jemand "wie ich" django vor der Installation von virtualenv installieren würde ... also für alle Leute meiner Art, wenn ihr das getan habt ... installiert django neu, nachdem ihr virtualenv..i aktiviert habt hoffe das hilft
quelle