Ich versuche, auf Heroku von Gunicorn zur Kellnerin zu wechseln. In den Protokollen bekomme ich immer einen Fehler von der Kellnerin:
%Vor%In meinem procfile habe ich:
%Vor% Wenn ich die Erweiterung .wsgi
entferne, erhalte ich einen anderen Fehler:
Ich habe versucht, den Objektnamen auf wsgifunc
zu ändern, da es im Dokument der Kellnerin ist, aber kein Glück.
Jede Hilfe wäre willkommen. Ich habe eine wsgi.py-Datei mit den folgenden:
%Vor%Hier ist eine schreckliche Tatsache über Kellnerin: Es versteckt Informationen von Ihnen.
Wenn Sie sich die Quelle ansehen, "Schlechtes Modul" ist Code für "Beim Importieren Ihrer Anwendung vom wsgi-Modul ist ein Fehler aufgetreten."
Um den Fehler zu sehen, versuchen Sie:
heroku run bash
cd
) python
import wsgi
Als ich diesen Fehler traf und dies tat, bekam ich:
%Vor%Was ein viel hilfreicher Fehler ist. In meinem Fall hatte ich DJANGO_SETTINGS_MODULE in der Produktion auf 'local' gesetzt (was die entsprechenden Voraussetzungen nicht hatte) und der Import fehlschlug.
Die genaue Art Ihres Problems wird variieren, aber ich werde einen Fall erwähnen, der mich frustrierte, als ich anfing:
Wenn Sie web: waitress-serve --port=$PORT cardisle.wsgi:application
ausführen, müssen Sie möglicherweise die Umgebungsvariable PYTHONPATH so ändern, dass PYTHONPATH + cardisle.wsgi ein vollständig ausgeführter vorhandener Pfad auf der fraglichen Maschine ist.
Ich werde heute Abend eine PR für die Kellnerin eröffnen, die versucht, den Importfehler zu verpuffen. Viel Glück sonst!
Ich glaube, ich habe die Antwort gefunden. Wenn Ihr Projekt so angelegt ist (wie es standardmäßig ist):
%Vor%Probieren Sie stattdessen dieses Procfile aus:
%Vor%Ich habe daran gedacht, weil Dave Halls Beispielprojekt ein anderes Layout hat:
%Vor% Was die Datei wsgi.py
auf einer höheren Ebene hat. Sie sind wahrscheinlich seinem Tutorial gefolgt, aber soweit ich das beurteilen kann, funktioniert das Standard-Django-Layout nicht ganz so.