пакеты python недоступны для скрипта, выполняемого из cron - PullRequest
0 голосов
/ 26 сентября 2018

Я разработал Python Flask API и развернул его на веб-сайтах.Flask API работает как положено.Для API Flask требуется несколько пакетов Python, которые я установил, добавив их в: requirements.txt

У меня также установлен скрипт Python, который является отдельным файлом py от API Flask.Запланировано ежедневное выполнение cron.

Когда я настраиваю cron, я получаю ошибку выполнения, что модуль не найден:

ModuleNotFoundError: No module named 'pandas'

Однако модуль был установлен requirements.txt идоступно для кода Flask API.Как получается, что import pandas работает с API Flask, но недоступен для сценария python, который выполняется cron?

1 Ответ

0 голосов
/ 04 октября 2018

Задания Cron выполняются вне вашей среды, что означает, что у них нет ваших $PATH и других переменных среды (более широкое описание в этом ответе), что делает невозможным поиск определенных программ.Что вы должны сделать, это сделать выполнение скрипта Python обернутым в скрипт bash, где вначале вы экспортируете все необходимые переменные окружения (или вообще заставляете его использовать вашу среду).Затем выполните этот bash-скрипт со своим cron.

...