可以在virtualenv中安装supervisord吗?

6 投票
2 回答
4426 浏览
提问于 2025-04-18 02:40

目前我在Ubuntu上通过 apt-get install supervisor 命令全局安装了supervisord。我的所有项目都在虚拟环境(virtualenvs)里,所以系统的Python其实没怎么用到。

我可以在我的虚拟环境里安装supervisor吗?我能同时运行多个实例吗?

2 个回答

4

是的,你可以这样做,即使你的系统上没有全局安装 supervisor。

首先,找到你的虚拟环境目录并激活它。然后用 pip 安装 supervisor:

pip install supervisor

安装成功后,运行:

which supervisord

这时你会看到 supervisord 命令的路径,这个路径只会在你的虚拟环境里。

接下来是最重要的部分。当你运行 'supervisord' 命令时,它会寻找一个配置文件,默认位置是:/etc/supervisord.conf

但是如果 supervisor 只是在虚拟环境中安装的,它会报错,内容是:

错误:在默认路径下找不到配置文件。

为了运行 supervisor,你需要自己创建一个配置文件,并在运行时指定它的路径。首先运行:

echo_supervisord_conf > supervisord.conf

这条命令会在你当前的工作目录下创建一个默认的 supervisor 配置文件。接下来,配置你的 supervisord.conf 文件(可以参考 http://supervisord.org/configuration.html),然后使用 '-c' 选项运行 supervisor:

supervisord -c supervisord.conf

来源:http://supervisord.org/installing.html

7

没错。你可以先设置一个 virtualenv,然后用 pip 安装 supervisor。

virtualenv env
cd env
./bin/pip install supervisor

创建配置文件:

echo_supervisord_conf > /path_to_configuration_file/supervisord.conf

你可以运行多个实例,只需要在配置文件中使用不同的端口让 supervisord 监听:

port=127.0.0.1:9001

撰写回答