supervisor支持python虚拟环境venv
在项目中使用supervisor时,如何在虚拟环境下启动一直存在些小问题。
比如我要写 Cesi程序的监听,我是手动安装的执行之前 要先加载环境source venv/bin/activate
所以写了个启动脚本 start_cesi.sh 在脚本中激活虚拟环境,
1 2 3 | #!/bin/bash source venv /bin/activate python3 . /cesi/run .py --config- file . /defaults/cesi .conf[prod@cloud-prod supervis |
反复摸索后,发现其实很容易实现,稍微修改下supervisor的配置即可。
有两种方法实现
1:使用相对路径
假设,我们的虚拟环境在项目根目录下的venv中。
那么在对supervisor的配置做如下修改,不需要修改的地方略去。
1 2 | directory= /usr/local/cesi/ #先指定环境所在目录 command = venv /bin/python3 . /cesi/run .py --config- file . /defaults/cesi .conf |
2:直接使用绝对路径
1 | command = /usr/local/cesi/venv/bin/python3 . /cesi/run .py --config- file . /defaults/cesi .conf |
原理:command 启动命令不直接使用python,而是使用虚拟环境里的python,我这里是venv/bin/python3。
最后紧跟需要启动的脚本,我这里是用的cesi。
然后更新supervisor配置
1 2 | supervisorctl update supervisorctl reload |
posted on 2019-04-26 18:01 ExplorerMan 阅读(2996) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步