I'm currently developing my first real python flask project and am about to set up the build server to deploy the "Latest Build" which is built on every check-in.
I have set up a startup script where I start the application using uwsgi and this part is working fine. I have recently also started using virtualenv
and by doing so the packages installed are added to my project under projectname\flask\Lib\site-packages
.
I'm using nginx
as the web server and the config looks like this:
location / { try_files $uri @graderbuild; } location @graderbuild { include uwsgi_params; uwsgi_param UWSGI_CHDIR /usr/local/grader/build; uwsgi_param UWSGI_PYHOME /usr/local/grader/build; uwsgi_pass 127.0.0.1:3031; }
I'm starting uwsgi
using this:
exec /usr/local/bin/uwsgi --master --socket 127.0.0.1:3031 --wsgi-file restserver.py --callable app --processes 4 --die-on-term --threads 2 >> /var/log/grader-build.log 2>&1
Now to where I know if I'm doing it right... currently I am deploying the entire folder to the build server. I don't want to install global python modules just to get my build to work. Right or wrong?
The error I get currently is:
ImportError: No module named flask_wtf
If I'm right, how do I configure the setup to use the virtualenv
site-packages? My preferred location would be in the startup
script and not in the nginx
config.
Use -H
to set virtualenv to python path.
uwsgi -H /path/to/your/virtualenv
http://uwsgi-docs.readthedocs.org/en/latest/Options.html#virtualenv
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With