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




virtualenvwrapper