2017-07-28 4 views
0

ich meine init Datei mit dem Namen habe __main__.py anstelle der üblichen app.py, weil ich es mitWie benutze ich Gunicorn mit __main__.py?

$ python flask_api/ 

Aber jetzt laufen möchte, wenn ich es mit Gunicorn zu verwenden, ich versuche, scheint es, wie dieser Name beschränkt ist:

$ cd flask_api/ 
$ gunicorn __main__:app 
[2017-07-28 22:42:06 +0300] [15766] [INFO] Starting gunicorn 19.7.1 
[2017-07-28 22:42:06 +0300] [15766] [INFO] Listening at: http://127.0.0.1:8000 (15766) 
[2017-07-28 22:42:06 +0300] [15766] [INFO] Using worker: sync 
[2017-07-28 22:42:06 +0300] [15769] [INFO] Booting worker with pid: 15769 
Failed to find application: '__main__' 
[2017-07-28 22:42:06 +0300] [15769] [INFO] Worker exiting (pid: 15769) 
[2017-07-28 22:42:06 +0300] [15766] [INFO] Shutting down: Master 
[2017-07-28 22:42:06 +0300] [15766] [INFO] Reason: App failed to load. 

Was ist das Problem und ho:

$ gunicorn flask_api:app 
[2017-07-28 22:40:33 +0300] [15488] [INFO] Starting gunicorn 19.7.1 
[2017-07-28 22:40:33 +0300] [15488] [INFO] Listening at: http://127.0.0.1:8000 (15488) 
[2017-07-28 22:40:33 +0300] [15488] [INFO] Using worker: sync 
[2017-07-28 22:40:33 +0300] [15491] [INFO] Booting worker with pid: 15491 
Failed to find application: 'flask_api' 
[2017-07-28 22:40:33 +0300] [15491] [INFO] Worker exiting (pid: 15491) 
[2017-07-28 22:40:33 +0300] [15488] [INFO] Shutting down: Master 
[2017-07-28 22:40:33 +0300] [15488] [INFO] Reason: App failed to load. 

ich habe auch mit einer anderen Art und Weise zu starten versucht, w kann ich es reparieren?

BTW hier ist meine flask_api/ Struktur:

flask_api/ 
├── blueprints 
│   ├── add_methods.py 
│   └── get_methods.py 
├── config.py 
├── __main__.py 
└── README.md 

Antwort

0

Sie können nicht in ein anderes Verzeichnis ändern und die relative Importe erwarten das gleiche zu arbeiten. Bleiben Sie im Verzeichnis über flask_api und verwenden Sie gunicorn flask_api.__main__:app.

Darüber hinaus verlassen Sie sich auf relative Importe, daher funktioniert die Ausführung von überall im Verzeichnis flask_api nicht wie erwartet. Ändern Sie das Layout wie folgt und führen Sie das Verzeichnis project aus.

project/ 
    flask_api/ 
    __init__.py 
    __main__.py 
    config.py 
    blueprint/ 
     __init__.py 
     add_methods.py 
     get_methods.py 
    README.md 
+0

Danke für Ihre Antwort, aber es funktioniert immer noch nicht. Irgendetwas stimmt nicht mit Imports: 'von Config-Import BaseConfig ImportError: Kein Modul namens 'config'' –

+0

Vielen Dank für Ihre Zeit mit mir :) Ich habe diese beiden Dateien' __init __. Py' hinzugefügt (sie sind leer) und es hat immer noch den gleichen Fehler :( –