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
  • 相关阅读:
    spring
    SpringMVC 配置与使用
    基本MVC2模式创建新闻网站
    EL表达式
    JavaBeans介绍
    JSP简介
    Cookie与Session的异同
    过滤器的使用
    session的使用
    最长回文子串
  • 原文地址:https://www.cnblogs.com/ExMan/p/10775811.html
Copyright © 2011-2022 走看看