【发布时间】:2021-07-01 07:24:14
【问题描述】:
我目前正在努力解决如何通过 crontab 在虚拟环境中从 python 文件运行方法。
我有一个如下所示的目录:/home/ubuntu/project 有文件file.py
以及其中的文件夹venv。在file.py 中有一个method(),我想通过crontab 定期执行,使用虚拟环境的python 和依赖项。
我已经想通了,我需要在虚拟环境中使用python,所以不要
python3
我用
/home/ubuntu/project/venv/bin/python3.
现在,我还找到了如何从命令行运行方法的问题的答案,即通过
python3 -c 'import foo; print foo.hello()'.
我曾尝试将两者结合起来,但不幸的是
/home/ubuntu/project/venv/bin/python3 -c 'import /home/ubuntu/project/file; print(file.method())'
是无效的语法。还有
/home/ubuntu/project/venv/bin/python3 -c 'from /home/ubuntu/project/ import file; print(file.method())'
只会导致错误。另一方面,
/home/ubuntu/project/venv/bin/python3 -c 'import file; print(file.method())'
导致找不到文件。
我该如何正确地做到这一点?
非常感谢您考虑这个问题。
【问题讨论】:
标签: python python-3.x cron virtualenv ubuntu-20.04