pip3 - install python debian 9
Comment utiliser virtualenvwrapper dans Supervisor? (2)
Quand je développais et testais mon projet, j'utilisais virtualenvwrapper pour gérer l'environnement et l'exécuter:
workon myproject
python myproject.py
Bien sûr, une fois que j'étais dans le bon virtualenv, j'utilisais la bonne version de Python et d'autres bibliothèques correspondantes pour exécuter mon projet.
Maintenant, je veux utiliser Supervisord pour gérer le même projet car il est prêt pour le déploiement. La question est de savoir quelle est la bonne façon de dire à Supervisord d'activer le bon virtualenv avant d'exécuter le script? Ai-je besoin d'écrire un script bash séparé qui fait cela, et appelle ce script dans le champ de commande du fichier de configuration de Supervisord?
Première exécution
$ workon myproject
$ dirname `which python`
/home/username/.virtualenvs/myproject/bin
Ajouter le suivant
environment=PATH="/home/username/.virtualenvs/myproject/bin"
au supervord.conf correspondant sous la section [programme: blabla].
Une façon d'utiliser votre virtualenv depuis la ligne de commande est d'utiliser l'exécutable python situé dans votre virtualenv.
pour moi j'ai mes envs virtuels dans le répertoire .virtualenvs
. Par exemple
/home/ubuntu/.virtualenvs/yourenv/bin/python
pas besoin de workon
pour un supervisor.conf
gérant une application tornado je fais:
command=/home/ubuntu/.virtualenvs/myapp/bin/python /usr/share/nginx/www/myapp/application.py --port=%(process_num)s