zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    I/O工作机制
    Apache和Tomcat区别
    jenkins学习和使用
    小程序富文本转化插件
    一个正则表达式的用法
    contenteditable="true"让div可编辑
    JS实现品字布局
    扯扯小程序。
    (canvas)两小球碰撞后的速度问题研究
    canvas画多边形
  • 原文地址:https://www.cnblogs.com/ExMan/p/10775811.html
Copyright © 2011-2022 走看看