Ho un'app Flask che sto cercando di servire tramite Gunicorn.Gunicorn non è riuscito a caricare l'applicazione Flask
Sto usando virtualenv e python3. Se posso attivare il mio venv cd per la mia app di base dir quindi eseguire:
gunicorn mysite:app
ottengo:
Starting gunicorn
Listening at http://127.0.0.1:8000
DEBUG:mysite.settings:>>Config()
...
Failed to find application: 'mysite'
Worker exiting
Shutting down: master
Reason: App failed to load
Guardando in/etc/nginx/sites-available ho solo il file 'default'. In siti abilitati non ho file.
Nel mio file nginx.conf ho:
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
App struttura:
mysite #this is where I cd to and run gunicorn mysite:app
--manage.py
--/mysite
----settings.py
----__init__.py
in manage.py
per mysite ho seguente:
logger.debug("manage.py entry point")
app = create_app(app_name)
manager = Manager(app)
if __name__ == "__main__":
manager.run()
In __init__.py
di file:
def create_app(object_name):
app = Flask(__name__)
#more setup here
return app
Nel mio settings.py
nella cartella app
class Config(object):
logger.debug(">>Config()") #this logs OK so gunicorn is at least starting in correct directory
Dall'interno della virtualenv se corro
print(sys.path)
trovo un percorso di pitone e site-packages per questo virtualenv.
Da quello che ho letto per iniziare gunicorn è solo una questione di installarlo ed eseguire gunicorn mysite: app
Esecuzione gunicorn dalla directory principale della mysite ottengo lo stesso non è riuscito a trovare applicazione: 'miosito', L'app non è riuscita a caricare l'errore, ma non ha ottenuto il DEBUG ... Config() loggato (dato che siamo chiaramente nella directory sbagliata per iniziare). Esecuzione di gunicorn da mysite/mysite (chiaramente errato) I get ed Exception nel processo di lavoro ereor, ImportError: nessun modulo chiamato 'mysite'.
Eventuali indizi su come posso far funzionare Gunicorn?