我最近编写了一个Python程序,旨在通过SMPP短信服务器进行通信。
我面临的问题是我不知道如何使用 Conda 虚拟环境在我的 Cent OS 服务器上将 Python 脚本作为服务运行。我使用了很多依赖项,并且选择虚拟环境而不是 Conda 不是一个选择。
有什么办法可以将此脚本作为服务运行吗?还有一种方法可以编写控制台方法来使用以下命令启动此脚本?
service fooService start
答案1
抱歉来晚了,但是在特定环境中运行 python 脚本的方法是编写如下 shell 脚本:
#!/bin/bash
source activate my_env && python my_script.py
并将该包装脚本作为您的服务,而不是 python 脚本本身。
答案2
还有另一种方法。您可以直接使用环境中的 python 可执行文件,ExecStart
如下所示:
ExecStart=/path/to/conda/envs/my_env_name/bin/python /path/to/executable
对于我使用 miniconda 的 CentOS 服务器,路径是:
ExecStart=/root/miniconda3/envs/test_env/bin/python3 /root/test.py
答案3
对于 git-bash,请尝试以下操作。第一行初始化 conda。
eval "$(conda shell.bash hook)"
source activate myenv
python myscript.py