Flask app with virtual Python environment in Unit 1.1 ?
Ralph Seichter
m16+nginx at monksofcool.net
Sun Apr 29 14:10:08 UTC 2018
Hello,
I have built a Flask application with a Python 3.6 virtual environment
which I would like to run using NGINX Unit 1.1 instead of the usual
"source venv/bin/activate; flask run". When I try to apply the following
configuration
{
"listeners": {
"*:5080": {
"application": "myapp"
}
},
"applications": {
"myapp": {
"type": "python",
"processes": 1,
"module": "wsgi",
"user": "nginx",
"group": "nginx",
"path": "/var/www/myapp"
}
}
}
My log file shows
[info] 21422#21422 "myapp" application started
[alert] 21422#21422 Python failed to import module "wsgi"
[notice] 20803#20803 process 21422 exited with code 1
[warn] 20812#20812 failed to start application "myapp"
[alert] 20812#20812 failed to apply new conf
Here's my minimal wsgi.py:
# /var/www/myapp/wsgi.py
import mypackage
if __name__ == "__main__":
mypackage.run()
The Flask application object is defined in mypackage.__init__.py:
app = Flask(__name__)
NGINX Unit does not know about the virtual Python environment at this
time, and I don't know how I can set the required library paths. Can
somebody please point me in the right direction?
-Ralph
More information about the nginx
mailing list