![Conda 가상 환경에서 Python 스크립트를 서비스로 실행](https://linux55.com/image/91392/Conda%20%EA%B0%80%EC%83%81%20%ED%99%98%EA%B2%BD%EC%97%90%EC%84%9C%20Python%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%A5%BC%20%EC%84%9C%EB%B9%84%EC%8A%A4%EB%A1%9C%20%EC%8B%A4%ED%96%89.png)
나는 최근 SMPP SMS 서버를 통해 통신하도록 설계된 Python 프로그램을 작성했습니다.
제가 직면한 문제는 Conda 가상 환경을 사용하여 Cent OS 서버에서 Python 스크립트를 서비스로 실행하는 방법을 모른다는 것입니다. 나는 많은 종속성을 사용하고 있으며 Conda 대신 가상 환경을 선택하는 것은 선택 사항이 아니었습니다.
이 스크립트를 서비스로 실행할 수 있는 방법이 있나요? 다음 명령을 사용하여 이 스크립트를 시작하는 콘솔 메서드를 작성하는 방법도 있습니까?
service fooService start
답변1
늦어서 죄송합니다. 특정 환경에서 Python 스크립트를 실행하는 방법은 다음과 같은 쉘 스크립트를 작성하는 것입니다.
#!/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