supervisor支持python虚拟环境venv


在项目中使用supervisor时,如何在虚拟环境下启动一直存在些小问题。

比如我要写 Cesi程序的监听,我是手动安装的执行之前 要先加载环境source venv/bin/activate

所以写了个启动脚本 start_cesi.sh 在脚本中激活虚拟环境,

#!/bin/bash
source venv/bin/activate
python3 ./cesi/run.py --config-file ./defaults/cesi.conf[prod@cloud-prod supervis

反复摸索后,发现其实很容易实现,稍微修改下supervisor的配置即可。

有两种方法实现

1:使用相对路径

假设,我们的虚拟环境在项目根目录下的venv中。

那么在对supervisor的配置做如下修改,不需要修改的地方略去。

directory=/usr/local/cesi/ #先指定环境所在目录
command = venv/bin/python3 ./cesi/run.py --config-file ./defaults/cesi.conf


2:直接使用绝对路径

command = /usr/local/cesi/venv/bin/python3 ./cesi/run.py --config-file ./defaults/cesi.conf


原理:command 启动命令不直接使用python,而是使用虚拟环境里的python,我这里是venv/bin/python3。

 

最后紧跟需要启动的脚本,我这里是用的cesi。


然后更新supervisor配置

 

supervisorctl update
supervisorctl reload


 

注:本文转载自mtjo.net,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如有侵权行为,请联系我们,我们会及时删除。

评论


匿名用户:
2020-05-08 15:32:31

9584dfh 爱国


匿名用户:
2020-05-08 15:28:11
@ 匿名用户 "        QQ"
6666666666666666666

匿名用户:
2020-05-08 15:27:14

6666666666666


匿名用户:
2020-03-21 17:13:26
@ 匿名用户 "打发士大夫但是犯得上反对"
快乐就好交电话费士大夫

匿名用户:
2020-03-20 22:50:21

16515655555555555555555555555555555555555555555555555555555555555555555555555


匿名用户:
2020-03-17 03:07:47

打发士大夫但是犯得上反对


匿名用户:
2020-02-28 19:22:16
发给 给对方

更换返回 复合肥


匿名用户:
2020-02-28 00:47:33
@ 匿名用户 "5565665566565"
怎么样呀123123饿3我

匿名用户:
2020-01-03 15:44:52

5565665566565


匿名用户:
2019-12-20 10:56:04
@ 匿名用户 "111切尔万人大11212"
111213232323

匿名用户:
2019-12-20 10:55:50

111切尔万人大11212


匿名用户:
2019-12-09 19:09:50
@ 匿名用户 "        QQ"
2121我多吃蔬菜第三次大扫除都是错的

匿名用户:
2019-12-09 19:09:20

        QQ


匿名用户:
2019-10-24 19:17:52
@ 匿名用户 "这个可以,匿名方便用户评论。后台有审核就好了。"
56+56+566+56+5

匿名用户:
2019-10-24 19:17:15

6+5556+56565656