가상 환경에서 패키지가 포함된 Python 스크립트 cron 작업을 예약하는 방법은 무엇입니까?

가상 환경에서 패키지가 포함된 Python 스크립트 cron 작업을 예약하는 방법은 무엇입니까?

필요한 모든 패키지를 설치한 환경이 있습니다. crontab에 넣고 싶은 스크립트가 있습니다. 내가 한 일이지만 crontab이 내 스크립트를 실행할 때 문제가 있습니다. 물론 패키지가 내 환경에만 있기 때문에 누락된 패키지로 인해 스크립트가 실행되지 않습니다.

따라서 첫 번째 해결책은 호스트에 모든 패키지를 설치하는 것입니다(하지만 그렇게 하고 싶지는 않습니다).

내 crontab은 다음과 같습니다.

* * * * * /path/script.py

script.py에는#!/usr/bin/python3.6

어떻게든 내 환경과 필요한 모든 패키지를 내 crontab에 포함해야 합니다.

어떤 아이디어가 있나요?

답변1

나는 스크립트를 만들었습니다 cron_script.sh:

#!/bin/bash
source /path/to/env/bin/activate
cd /path/to/script/
python3.6 script.py
deactivate

내 일정:

* * * * * /path/to/cron_script.sh

관련 정보