Kellnerin auf Heroku gibt Fehler

8

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:

%Vor%

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%     
Kinetic Stack 02.04.2014, 19:51
quelle

4 Antworten

7

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:

  1. Einloggen in einen Dyno mit heroku run bash
  2. Navigieren zu dem Verzeichnis mit wsgi.py darin (mit cd )
  3. Öffnen einer Shell mit python
  4. läuft 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!

    
bwarren2 16.05.2015, 22:02
quelle
0

Die Datei wsgi.py sollte sich im Cardisle-Verzeichnis befinden. Kellnerin versucht, cardisle.wsgi zu importieren.

    
MitchMK 11.04.2014 00:57
quelle
0

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.

    
Robert Grant 12.08.2014 08:22
quelle
0

Versuchen Sie, Ihre WSGI-Datei so zu modifizieren (für Django 1.7):

%Vor%

Ich hatte denselben Fehler, weil meine Procfile zuvor wie im Heroku-Leitfaden beschrieben konfiguriert wurde:

%Vor%

Und das verursachte ein Problem für mich.

    
edu222 24.02.2015 02:11
quelle

Tags und Links