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,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如有侵权行为,请联系我们,我们会及时删除。

评论


匿名用户:
2019-06-04 11:55:59
@ 匿名用户 "撒旦法撒旦法师打发斯蒂发东方闪电"
所说的发生的第三方士大夫

匿名用户:
2019-06-04 11:55:37

撒旦法撒旦法师打发斯蒂发东方闪电


匿名用户:
2019-05-28 15:25:31

1111111111


匿名用户:
2019-05-14 11:43:26
@ 匿名用户 "222大范甘迪郭德纲的风格"
342为台湾特温特342为台湾特温特342为台湾特温特342为台湾特温特

匿名用户:
2019-05-10 15:46:59

222大范甘迪郭德纲的风格


匿名用户:
2019-05-07 15:48:37

撒大大阿大撒啊实打实打算大苏打


匿名用户:
2019-04-24 11:08:46

13246546546554


匿名用户:
2019-03-08 10:01:53

888884卷发好看


匿名用户:
2019-03-07 09:18:29

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


匿名用户:
2019-01-27 08:25:02
@ 匿名用户 "有模有样基本文转载自mtjo.net,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如有侵权行为,请联系我们,我们会及时删除。"
方法让让人热热哥古古怪怪

匿名用户:
2019-01-27 08:23:14
@ 匿名用户 "33333333333333333333333"
反反复复人吃醋吃饭发

匿名用户:
2019-01-24 14:18:13
@ 匿名用户 "8888888888888888888888888888888"
33333333333333333333333

匿名用户:
2019-01-24 14:17:44

8888888888888888888888888888888


匿名用户:
2019-01-10 13:50:33
@ 匿名用户 "11111111111111111111"
44444444444444444

匿名用户:
2019-01-10 11:05:47
@ 匿名用户 "1212123333333333333333"
11111111111111111111