Как запустить команду python как cron при загрузке переменных среды? - PullRequest
0 голосов
/ 27 января 2019

Я использую Python 3.7 с Django.Я хочу настроить задание cron ("crontab -e"), где я запускаю

davea$ /bin/bash -l -c 'cd /Users/davea/Documents/workspace/mainpage_project; ./venv/bin/activate; python manage.py runstats'

Однако при запуске этого я получаю ошибку

  File "manage.py", line 14
    ) from exc

Если я запускаю

cd /Users/davea/Documents/workspace/mainpage_project; ./venv/bin/activate; python manage.py runstats

все работает нормально, но я хочу загрузить переменные окружения, поэтому я пытался использовать предыдущую команду.Есть ли способ исправить первую команду, чтобы я мог загрузить переменные окружения, а также выполнить свой сценарий?Ниже мой файл "manage.py" ...

#!/usr/bin/env python
import os
import sys

if __name__ == '__main__':
    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mainpage_project.settings')
    try:
        from django.core.management import execute_from_command_line
    except ImportError as exc:
        raise ImportError(
            "Couldn't import Django. Are you sure it's installed and "
            "available on your PYTHONPATH environment variable? Did you "
            "forget to activate a virtual environment?"
        ) from exc          # line 14
    execute_from_command_line(sys.argv)

1 Ответ

0 голосов
/ 21 февраля 2019

Да, вы должны включить virtualenv с источником ./venv/bin/activate, как предложил @dirkgorten

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...