uWSGI cannot find "application" using Flask and Virtualenv

unable to find "application" callable in file /var/www/coefficient/flask.py

is the key :)

Your app is defining an 'app' callable, so you have to instruct uWSGI to search for it, instead of 'application'.

You can use the option

callable: app

and it will works (this is explained in official Flask docs)


Alternatively, you can add module = flaskapp:app to your ini.

Also, indeed, callable is addressed in uwsgi-docs more clearly:

Flask exports its WSGI function (the one we called “application” at the beginning of this quickstart) as “app”, so we need to instruct uWSGI to use it: uwsgi --wsgi-file myflaskapp.py --callable app