Если вы используете «workon», вы на самом деле используете «оболочку virtualenv», которая является еще одним уровнем абстракции, который находится на вершине virtualenv. Только virtualenv можно активировать, перейдя в ваш корневой каталог virtualenv и выполнив команду:
source bin/activate
workon - это команда, предоставляемая оболочкой virtualenv, а не virtualenv, и она выполняет некоторые дополнительные действия, которые необязательно требуются для простого virtualenv. Все, что вам действительно нужно сделать, это найти файл bin / activ в корневом каталоге virtualenv, чтобы «активировать» virtualenv.
Вы можете настроить свой crontab так, чтобы он вызывал скрипт bash, который делает это:
#! /bin/bash
cd my/virtual/env/root/dir
source bin/activate
# virtualenv is now active, which means your PATH has been modified.
# Don't try to run python from /usr/bin/python, just run "python" and
# let the PATH figure out which version to run (based on what your
# virtualenv has configured).
python myScript.py