Ich habe eine Django-Webanwendung entwickelt, die auf einem Apache-Server mit WSGI bereitgestellt wurde, und alles verlief reibungslos. Heute habe ich einige geringfügige Änderungen an meinen Apps vorgenommen admin.py
, um die integrierte Django-Administratoroberfläche anzupassen, und zunächst einen Syntaxfehler (eine nicht geschlossene Klammer) vorgenommen. Dies bedeutete, dass wsgi.py
meine Website beim Berühren und Laden des Codes (auf meinem virtuellen Host wird WSGI im Daemon-Modus ausgeführt) durch einen internen Serverfehler ersetzt wurde, da WSGI gestoppt wurde, als der Syntaxfehler auftrat.
Also habe ich den Syntaxfehler behoben, überprüft, ob ich nicht mehr mit hatte manage.py check
, und berührt, wsgi.py
um erneut bereitzustellen. Auf meiner Website wird jedoch weiterhin ein interner Serverfehler angezeigt! Wenn ich die Apache-Protokolle überprüfe, sehe ich Folgendes:
[Sun Nov 23 13:52:46 2014] [info] mod_wsgi (pid=19093): Create interpreter 'quotes.cs.cornell.edu|'.
[Sun Nov 23 13:52:46 2014] [info] mod_wsgi (pid=19093): Adding '/extra/www/html/quotes/quotes_django' to path.
[Sun Nov 23 13:52:46 2014] [info] mod_wsgi (pid=19093): Adding '/opt/rh/python27/root/usr/lib64/python2.7/site-
packages/' to path.
[Sun Nov 23 13:52:46 2014] [info] [client 128.84.33.19] mod_wsgi (pid=19093, process='quotes.cs.cornell.edu',
application='quotes.cs.cornell.edu|'): Loading WSGI script '/extra/www/html/quotes/quotes_django/quotes_django/
wsgi.py'.
[Sun Nov 23 13:52:46 2014] [error] [client 128.84.33.19] mod_wsgi (pid=19093): Target WSGI script '/extra/www/html/
quotes/quotes_django/quotes_django/wsgi.py' cannot be loaded as Python module.
[Sun Nov 23 13:52:46 2014] [error] [client 128.84.33.19] mod_wsgi (pid=19093): Exception occurred processing WSGI
script '/extra/www/html/quotes/quotes_django/quotes_django/wsgi.py'.
[Sun Nov 23 13:52:46 2014] [error] [client 128.84.33.19] Traceback (most recent call last):
[Sun Nov 23 13:52:46 2014] [error] [client 128.84.33.19] File "/extra/www/html/quotes/quotes_django/
quotes_django/wsgi.py", line 14, in <module>
[Sun Nov 23 13:52:46 2014] [error] [client 128.84.33.19] application = get_wsgi_application()
[Sun Nov 23 13:52:46 2014] [error] [client 128.84.33.19] File "/opt/rh/python27/root/usr/lib64/python2.7/site-
packages/django/core/wsgi.py", line 14, in get_wsgi_application
[Sun Nov 23 13:52:46 2014] [error] [client 128.84.33.19] django.setup()
[Sun Nov 23 13:52:46 2014] [error] [client 128.84.33.19] File "/opt/rh/python27/root/usr/lib64/python2.7/site-
packages/django/__init__.py", line 21, in setup
[Sun Nov 23 13:52:46 2014] [error] [client 128.84.33.19] apps.populate(settings.INSTALLED_APPS)
[Sun Nov 23 13:52:46 2014] [error] [client 128.84.33.19] File "/opt/rh/python27/root/usr/lib64/python2.7/site-
packages/django/apps/registry.py", line 115, in populate
[Sun Nov 23 13:52:46 2014] [error] [client 128.84.33.19] app_config.ready()
[Sun Nov 23 13:52:46 2014] [error] [client 128.84.33.19] File "/opt/rh/python27/root/usr/lib64/python2.7/site-
packages/django/contrib/admin/apps.py", line 22, in ready
[Sun Nov 23 13:52:46 2014] [error] [client 128.84.33.19] self.module.autodiscover()
[Sun Nov 23 13:52:46 2014] [error] [client 128.84.33.19] File "/opt/rh/python27/root/usr/lib64/python2.7/site-
packages/django/contrib/admin/__init__.py", line 23, in autodiscover
[Sun Nov 23 13:52:46 2014] [error] [client 128.84.33.19] autodiscover_modules('admin', register_to=site)
[Sun Nov 23 13:52:46 2014] [error] [client 128.84.33.19] File "/opt/rh/python27/root/usr/lib64/python2.7/site-
packages/django/utils/module_loading.py", line 74, in autodiscover_modules
[Sun Nov 23 13:52:46 2014] [error] [client 128.84.33.19] import_module('%s.%s' % (app_config.name,
module_to_search))
[Sun Nov 23 13:52:46 2014] [error] [client 128.84.33.19] File "/usr/lib64/python2.7/importlib/__init__.py", line
37, in import_module
[Sun Nov 23 13:52:46 2014] [error] [client 128.84.33.19] __import__(name)
[Sun Nov 23 13:52:46 2014] [error] [client 128.84.33.19] File "/extra/www/html/quotes/quotes_django/quotespage/
admin.py", line 25
[Sun Nov 23 13:52:46 2014] [error] [client 128.84.33.19] approve_quotes.short_description = "Approve selected
quotes"
[Sun Nov 23 13:52:46 2014] [error] [client 128.84.33.19] ^
[Sun Nov 23 13:52:46 2014] [error] [client 128.84.33.19] SyntaxError: invalid syntax
[Sun Nov 23 13:53:36 2014] [info] [client 128.84.33.19] mod_wsgi (pid=19093, process='quotes.cs.cornell.edu',
application='quotes.cs.cornell.edu|'): Loading WSGI script '/extra/www/html/quotes/quotes_django/quotes_django/
wsgi.py'.
[Sun Nov 23 13:53:36 2014] [error] [client 128.84.33.19] mod_wsgi (pid=19093): Target WSGI script '/extra/www/html/
quotes/quotes_django/quotes_django/wsgi.py' cannot be loaded as Python module.
[Sun Nov 23 13:53:36 2014] [error] [client 128.84.33.19] mod_wsgi (pid=19093): Exception occurred processing WSGI
script '/extra/www/html/quotes/quotes_django/quotes_django/wsgi.py'.
[Sun Nov 23 13:53:36 2014] [error] [client 128.84.33.19] Traceback (most recent call last):
[Sun Nov 23 13:53:36 2014] [error] [client 128.84.33.19] File "/extra/www/html/quotes/quotes_django/
quotes_django/wsgi.py", line 14, in <module>
[Sun Nov 23 13:53:36 2014] [error] [client 128.84.33.19] application = get_wsgi_application()
[Sun Nov 23 13:53:36 2014] [error] [client 128.84.33.19] File "/opt/rh/python27/root/usr/lib64/python2.7/site-
packages/django/core/wsgi.py", line 14, in get_wsgi_application
[Sun Nov 23 13:53:36 2014] [error] [client 128.84.33.19] django.setup()
[Sun Nov 23 13:53:36 2014] [error] [client 128.84.33.19] File "/opt/rh/python27/root/usr/lib64/python2.7/site-
packages/django/__init__.py", line 21, in setup
[Sun Nov 23 13:53:36 2014] [error] [client 128.84.33.19] apps.populate(settings.INSTALLED_APPS)
[Sun Nov 23 13:53:36 2014] [error] [client 128.84.33.19] File "/opt/rh/python27/root/usr/lib64/python2.7/site-
packages/django/apps/registry.py", line 78, in populate
[Sun Nov 23 13:53:36 2014] [error] [client 128.84.33.19] raise RuntimeError("populate() isn't reentrant")
[Sun Nov 23 13:53:36 2014] [error] [client 128.84.33.19] RuntimeError: populate() isn't reentrant
Die erste Reihe von Fehlern zeigt, dass WSGI aufgrund des Syntaxfehlers in my fehlschlägt admin.py
. Die zweite Reihe von Fehlern scheint jedoch einen internen Fehler von Django zu zeigen:
RuntimeError: populate() isn't reentrant
geworfen von der populate
Methode von registry.py
.
Das Googeln dieser Fehlermeldung gibt überraschend wenig Informationen zurück, keine davon aus der Django-Dokumentation. Anscheinend kann es manchmal vorkommen, dass Sie eine App zweimal in Ihrer App benennen settings.py
, aber das mache ich nicht. Noch wichtiger ist, dass ich mich settings.py
seit dem Zeitpunkt, an dem die Website einwandfrei funktioniert hat, nicht geändert habe - das einzige, was ich geändert habe, war admin.py
.
Ich habe versucht, alle von mir vorgenommenen Änderungen zurückzusetzen, sodass mein gesamter Python-Code wieder in dem Zustand ist, in dem die Website funktioniert hat - und ich erhalte immer noch die populate() isn't reentrant
Fehlermeldung, wenn ich versuche, WSGI dazu zu bringen, den Code neu zu laden!
Ich habe auch versucht, verschiedene Apps im Abschnitt INSTALLED_APPS von zu kommentieren settings.py
, und selbst wenn nur 'django.contrib.staticfiles' aktiviert ist, tritt der Fehler immer noch auf. Seltsamerweise wird der Fehler auch dann noch angezeigt, wenn ich alle Apps auskommentiere - Django gibt den Fehler aus, auch wenn keine Apps geladen werden!
Weiß jemand, was hier los ist? Oder eine bessere Möglichkeit für mich, diesen Fehler zu debuggen, da der Traceback im Apache-Protokoll nicht hilfreich ist?
Anmerkungen: Ich verwende Django 1.7, Apache 2.2 und Python 2.7.
quelle
wsgi.py
führt zu demselben Apache-Fehler, und die .pyc-Dateien werden nicht neu erstellt.Antworten:
Dies wird durch einen Fehler in Ihren Django-Einstellungen verursacht. Leider versteckt Django den Fehler hinter dieser generischen und nicht nützlichen Fehlermeldung.
Um das wahre Problem aufzudecken, öffnen Sie
django/apps/registry.py
und um Zeile 80 herum, ersetzen Sie:mit:
Dadurch kann Django weiter laden und den tatsächlichen Fehler anzeigen.
Ich habe diesen Fehler aus verschiedenen Gründen festgestellt. Einmal war, weil ich einen schlechten Import in einer der admin.py meiner App hatte.
quelle
django.core.exceptions.ImproperlyConfigured: psycopg2_version 2.5.4 or newer is required; you have 2.5 (dt dec pq3 ext)
pip install --upgrade psycopg2
und das reparierte es.Der Administrator meines Servers hat Apache neu gestartet, und das hat dieses Problem auf magische Weise behoben. Die exakt gleichen Python-Dateien wurden ohne Ursache geladen
populate() isn't reentrant
. Ich habe sogar versucht, eine andere Datei mit einem Syntaxfehler zu laden und dann zu beheben, und der Server konnte die neue Datei laden und ohne Probleme korrekt ausführen.Ich weiß immer noch nicht, was falsch gelaufen ist, aber ich markiere dies als beantwortet, da das Problem behoben ist. (Nun, ich werde es als beantwortet markieren, sobald StackOverflow es mir ermöglicht, meine eigene Antwort zu akzeptieren.)
Update : Nachdem ich diesen Fehler weiterhin erhalten habe, als ich versehentlich Python mit Syntaxfehlern hochgeladen habe, habe ich eine Problemumgehung gefunden, die einfacher ist als ein Neustart von Apache. Wenn WSGI den
populate() isn't reentrant
Fehler auslöst , ersetze ich meine Django-Projektewsgi.py
durch diese einfache Funktion:Dann lade ich meine Website neu und der WSGI-Daemon-Prozess wird neu gestartet (was ich anhand des Apache-Protokolls erkennen kann, obwohl auf der Website immer noch derselbe 500-Fehler angezeigt wird).
Wenn ich dann
wsgi.py
wieder zum Normalzustand wechsle und erneut lade, nimmt WSGI meinen Code erfolgreich auf, ohne ihn zu werfenpopulate() isn't reentrant
(vorausgesetzt, ich habe diesmal keine Syntaxfehler). Apache muss also nicht neu gestartet werden, sondern nur der WSGI-Prozess, und das kann ich ohne Root-Rechte tun.quelle
startup-timeout
In neueren Versionen von mod_wsgi gibt es eine Option für den Daemon-Modus von mod_wsgi, mit deren Hilfe vorübergehende Fehler behoben werden können, wenn Django initialisiert wird, z. B. wenn eine Datenbank nicht verfügbar ist. Das Zeitlimit führt dazu, dass der Prozess automatisch neu gestartet wird, wenn die WSGI-Anwendung nach dem Zeitlimit nicht ordnungsgemäß geladen wird. Auch das hilft nicht weiter, wenn Sie ein permanentes Problem mit Ihrem eigenen Code haben. Suchen Sie in diesem Fall nach dem allerersten Fehler, nicht nach dempopulate()
Fehler, da er den wahren Grund für den Fehler Ihres Codes angibt.Ich weiß, dass dies eine alte Antwort ist, aber ich werde mit meiner Lösung dazu beitragen:
Um die Ursache des Problems zu diagnostizieren, führen Sie den Vorgang aus
manage.py check
und prüfen Sie, ob Sie dort etwas findenIn meinem Fall war eine veraltete Anforderung das Problem und Django konnte kein Submodul importieren
Stellen Sie sicher, dass Ihre Anforderungen aktuell sind
quelle
manage.py check
ich das Problem gefunden. Danke dir.Es ist keine Antwort, sondern eine Reflexion.
Wenn Sie ein Upgrade auf Django 1.7 durchführen und einen Fehler von 500 haben und Ihre Seite neu laden, sagt Apache "populate () ist nicht wiedereintrittsfähig". Ich denke, wenn Sie Ihre Seite laden, lädt Apache alle Module, die Sie für Ihre App benötigen, und wenn der Fehler behoben ist, wird das Modul nicht entladen. Wenn Sie Ihre Seite neu laden, lädt Apache diese Module erneut, aber sie sind bereits geladen. Apache sagt also "populate () ist nicht wiedereintrittsfähig".
Ich habe zwei Aktionen, um dies zu korrigieren: Starten Sie Apache neu oder korrigieren Sie den Fehler, der den ersten 5OO-Fehler behandelt.
Versuchen Sie, Apache neu zu starten mit:
Ich hoffe es hilft dir.
quelle
Wenn Sie diesen Fehler bei der Verwendung von Google App Engine erhalten, überprüfen Sie Ihre Protokolle auf andere Fehler, die dies verursachen könnten. Ich bekam:
ImproperlyConfigured: Error loading either pysqlite2 or sqlite3 modules (tried in that order): No module named _sqlite3
Sie können SQLite nicht mit Google App Engine verwenden. Kommentieren Sie daher den
DATABASES
Abschnitt zumsettings.py
Beenden dieses Fehlers und denRuntimeError("populate() isn't reentrant")
Fehler aus.quelle
Möglicherweise können Sie das Problem beheben, ohne Apache neu zu starten, indem Sie eine Datei (außer wsgi.py) berühren, die sich zu Beginn des Ladevorgangs befindet. Zum Beispiel Ihre Einstellungsdatei:
Ich habe das auch nicht richtig gelöst, aber mehr Infos in meiner Frage hier: Code-Änderungsüberwachung funktioniert nicht mit Django 1.7 auf mod-wsgi
quelle
Apache speichert die wsgi-Datei in seinem Cache. Deaktivieren Sie das Apache-Caching von Python-Dateien
Löschen Sie also zuerst die wsgi-Datei und starten Sie Ihren acpache neu. Fügen Sie dann die wsgi-Datei erneut hinzu und starten Sie den Apache neu.
quelle
Ich hatte gerade das gleiche Problem und begann mich umzusehen.
Jetzt habe ich es zum Laufen gebracht, also dachte ich, ich sollte es mit euch teilen!
Alles , was ich tat , war zu tun
chown user:group /to/path -R
undchmod 770 /to/path -R
alle immer wieder und es funktionierte.quelle
Dies sieht aus wie eine schöne Sammlung gültiger Antworten für denselben Apache mod-wsgi-Fehler, wobei jeder Typ diejenige veröffentlicht, die für ihn / sie funktioniert. Hier ist meine:
Vergessen Sie nicht, Ihre Projektanforderungen nach der Bereitstellung zu aktualisieren :)
quelle
Ich hatte das gleiche Problem und die Fehlerquelle war für mich nur ein Syntaxfehler in einer Datei, mit der ich gearbeitet habe. Nach dem Beheben des Tippfehlers
populate() is not reentrant
verschwand der Fehler.Wenn Sie Django über ein WSGI-Skript ausführen, können Sie den Tippfehler möglicherweise identifizieren, indem Sie das WSGI-Skript einfach über die Befehlszeile ausführen. Beispielsweise:
quelle
Dieser Fehler wird auch bei inkonsistenter Verwendung von Leerzeichen und Tabulatoren im Code generiert.
quelle
Setup: Ubuntu 14.04, Django 1.10, Python 3.5 (in
virtualenv
).Ich habe viele dieser Lösungen ohne Glück ausprobiert, aber dann habe ich festgestellt, dass das Apache-Fehlerprotokoll in meinem Fall zwei verschiedene Fehler enthält. Eine, die passiert, wenn jemand versucht, eine Seite zu besuchen, eine andere, die beim Start passiert. Ich habe den Start verpasst, weil ich normalerweise ein paar Mal versucht habe, die Seite zu aktualisieren, und daher den Fehler beim Besuch nur einige Male wiederholt sah.
Ich habe dann stattdessen nach Lösungen für den Startfehler gesucht und die Lösung für diese Frage hat bei mir funktioniert . Kurz gesagt, es geht darum, das
mod_wsgi
Paket auf Umwegen zu aktualisieren .Ich hatte monatelang Warnungen über die Nichtübereinstimmung in
mod_wsgi
Versionen erhalten, aber plötzlich führte dies zu Apache-Fehlern 500. Macht für mich keinen Sinn.Ich vermute, dass dieser
RuntimeError: populate() isn't reentrant
Fehler normalerweise ein Zeichen dafür ist, dass man nach einem Startfehler suchen sollte, der auf das eigentliche Problem hinweist.bei Besuch
Anfang
quelle
populate()
und für mich wie ein völlig anderes Problem aussieht, sodass ich nicht sehen kann, wie Sie denken, dass es das gleiche Problem gelöst hat. Soweit irgendjemand es beurteilen kann, hatten Sie ein anderes Problem, für das Sie zu Beginn eine separate Frage hätten stellen sollen, anstatt die Antworten hier für ein anderes Problem zu verwechseln, das auf Details in diesem anderen Beitrag basiert.Ich weiß, dass es eine Weile her ist, seit diese Frage gestellt wurde, aber ich bin gerade auf dieses Problem gestoßen, weil ich ein Problem gesehen habe, das ich hier nicht besprochen habe. Ich habe den
RuntimeError: populate() isn't reentrant
Fehler aufgrund von SELinux unter CentOS 7 erhalten. Ich hatte Django aus einem Home-Verzeichnis heraus bereitgestellt und musste einfach den SELinux-Booleschen Wert aktivieren, der das Lesen von Home-Verzeichnissen ermöglichte, da der populate () -Fehler auf ein Berechtigungsproblem zurückzuführen war. Die Lösung für mich warsetsebool -P httpd_read_user_content 1
. Ich hoffe, das hilft jemandem, der dieses Problem hat.quelle
chcon
der Kontext des Problems zu ändern ,.so
um Dateihttpd_sys_script_exec_t
.Die Vielzahl der Antworten macht es deutlich; Dies ist ein allgemeiner Fehler, der mehrere Grundursachen haben kann, die normalerweise mit dem Laden von Apache / WSGI zusammenhängen.
Alle diese Antworten auf dieser Seite sollten als eine Art Checkliste fungieren. In diesem Sinne möchte ich die Hauptursache für meine Instanz dieses Fehlers hinzufügen: Fehler beim Hinzufügen eines 'Import-Betriebssystems' zu Ihrer settings.py-Datei.
Insbesondere hatten wir einen Entwickler in unserem Team, der beabsichtigte, ein nicht benötigtes Paket zu entfernen, und stattdessen "import os" aus dem oberen Bereich der Datei "settings settings.py" entfernte. Nach einem Neustart von Apache wurde unsere Anwendung nicht neu gestartet und wir erhielten den gefürchteten Fehler "RuntimeError: populate () ist nicht wiedereintrittsfähig".
Eine schnelle Überprüfung von "python manage.py" ergab kein Problem, eine "python settings.py" jedoch. Das Betriebssystempaket wurde nicht geladen.
Wenn Sie diesen Fehler haben, konzentrieren Sie Ihre Suche auf die Überprüfung Ihrer settings.py-Datei (en) und auch Ihrer WSGI-Datei.
quelle
reentrant
Fehler. Stellen Sie im Dämonmodus auch sicher, dass Sie diestartup-timeout
Option verwenden, wenn Sie dieses Problem aufgrund vorübergehender Fehler haben, anstatt Fehler zu codieren. Zumindest auf diese Weise kann es automatisch wiederhergestellt werden.RuntimeError: populate() isn't reentrant
Kann alles sein, deshalb gibt es so viele verschiedene Antworten auf diese Frage.
Der Trick besteht darin, die Fehlermeldung kurz vor dem zu lesen
RuntimeError
. In Ihrem Fall scheint ein Syntaxfehler in der Datei /extra/www/htmlquotes/quotes_django/quotespage/admin.py in Zeile 15 zu liegen, siehe:quelle
Hinweis zu AWS Elastic Beanstalk: Die
settings.py
von Django-admin geschriebene Standardeinstellung enthält einen Verweis auf eine lokale SQLite-Datenbank als Datenquelle. Dies funktioniert wahrscheinlich auf Ihrem lokalen Betriebssystem, jedoch nicht auf AWS EB, und gibt denpopulate() isn't reentrant
Laufzeitfehler aus. Um dies zu testen, kommentieren Sie einfach dieDATABASES={<...>}
Anweisung aussettings.py
, stellen Sie die Anwendung bereit und öffnen Sie sie erneut.quelle
django.core.exceptions.ImproperlyConfigured: SQLite 3.8.3 or later is required (found 3.7.17).
von der gefolgtRuntimeError: populate() isn't reentrant
. Aus den AWS-Dokumenten : "Django 2.2 ist nicht mit der Elastic Beanstalk Python 3.6-Plattform kompatibel." (zum Zeitpunkt des Schreibens)Ich hatte dieses Problem und konnte keine Antwort finden, warum, bis ich meine Commits zurückverfolgte. Anscheinend hatte ich wegen der automatischen Vervollständigung einen versehentlichen Import hinzugefügt, der das Setup vermasselte.
# found in models.py from msilib.schema import SelfReg
Im Apache-Fehlerprotokoll: RuntimeError ("populate () ist nicht wiedereintrittsfähig")
Es funktionierte gut in meiner Windows-Entwicklungsumgebung, schlug jedoch auf dem Ubuntu / Apache-Server fehl.
quelle
Ich habe denselben Fehler festgestellt, nachdem ich die Reihenfolge dieser Einstellung geändert hatte:
Das Problem wurde behoben, indem es hier zuvor wieder in die Bestellung aufgenommen und Apache neu gestartet wurde.
quelle
In meinem Fall hatte ich eine
custom renderer class
forDjango Rest Framework
, aus irgendeinem Grund musste ich die Methode "get_context" der Renderer-Klasse überschreiben (vollständige Offenlegung: damitdjango toolbar
die korrekte Anzahl der SQL-Abfragen angegeben wird)Ich habe diese Klasse entfernt und erneut bereitgestellt. Es funktionierte.
quelle
In meinem Fall ist der Fehler aufgetreten, weil ein erforderliches Pip-Paket fehlte.
Also habe ich einen
pip install -r requirements.txt
Apache neu gestartet und die Dinge haben wieder funktioniert.quelle
Durch Entfernen des Verzeichnisses virtualenv, Neuerstellen des Verzeichnisses virtualenv und erneutes Installieren aller Anforderungen wurde es für mich behoben.
quelle
Hinzufügen meines Grundes zur Liste. Für mich lag es daran, dass ich einen Django-Dienst mit demselben Verzeichnis wie ein Prozessverzeichnis hatte. Das Umbenennen des Prozesses / Verzeichnisses hat das Problem behoben.
quelle
Ich hatte eine rekursive
django.setup()
, z. B. habe ich versucht, einedjango.setup()
in eine zu schreibenapp/models.py
, in der Stapelspur versuchte Django, dies in der Nähe von:Also ja, versuchen Sie nicht, Django einzurichten, während Django eingerichtet wird ...
quelle
Ein Neustart des Apache-Servers für mich löste das Problem. Sie können dies mit dem Befehl $ sudo service apache2 restart tun
quelle
Ich hatte das gleiche Problem. Was für mich funktionierte, war das Auskommentieren der Standarddatenbankeinstellungen in / settings.py. Ich habe auch gelesen, dass spätere Versionen von Django nicht mit ebs kompatibel sind
quelle
Für mich war der Fehler ein fehlendes
mysqlclient
Paket in der Datei require.txt.Zuerst habe ich das
mysqlclient
Paket installiert mit:dann habe ich die Datei require.txt aktualisiert mit:
und das löste mein Problem.
quelle
In meinem Fall hatte ich einen zirkulären Import, der einen Fehler verursachte, der die Auffüllmethode unterbrach.
quelle
Meine 2 Cent einwerfen:
Ich habe ein funktionierendes Setup in Docker neu erstellt. Das neue Docker-Setup ist mit fehlgeschlagen
Das scheint ein generischer Fehler zu sein. In meinem Fall habe ich das übersehen
Installiert die neueste Version (
2.0
) anstelle der erforderlichen Version1.11
. Ändern Sie dies inmein Problem behoben.
quelle
Ich denke, dies ist ein allgemeiner Fehler, wenn etwas nicht stimmt
settings.py
. Manchmal kann ich das Problem durch Ausprobieren finden, indem ich die installierten Apps einzeln entferne. In einigen Fällen hängt es nicht mit den installierten Apps zusammen. Aber meiner Erfahrung nach ist es in jedem Fall ein Problem innerhalb dersettings.py
Datei.quelle
Überprüfen Sie, ob Sie Ihre API-Namen im Abschnitt "Installierte App" von settings.py zweimal erwähnt haben.
Anwendungsdefinition
Anwendungsdefinition
Das Entfernen doppelter Einträge löste mein Problem
quelle