shell_guy, лучше указывать полные пути до всех файлов.
У меня вот так примерно работает, во всяком случае.
cd /opt/my_python_project && sudo -u username /opt/my_python_project/bin/python3 /opt/my_python_project/main.py
где /opt/my_python_project - путь, где ты развернул venv
/opt/my_python_project/main.py - запускаемый файл проекта
username - имя пользователя, под которым хочешь запускать проект. Если запуск под определённой учёткой не требуется, sudo можно и опустить, но я бы не стал запускать свой скрипт от рута без реальной необходимости. Мало ли что.