Python Can';无法从cron作业中找到dotenv环境变量
我正在运行一个python库中的python脚本,该库使用dotenv从库根中的.env文件加载一些环境变量 这可以从命令行执行,但当我尝试使用以下命令作为cronjob运行时:Python Can';无法从cron作业中找到dotenv环境变量,python,variables,cron,environment,dotenv,Python,Variables,Cron,Environment,Dotenv,我正在运行一个python库中的python脚本,该库使用dotenv从库根中的.env文件加载一些环境变量 这可以从命令行执行,但当我尝试使用以下命令作为cronjob运行时: ***source.\path\u to\u venv/activate;python./path_to_script.py 我得到一个键错误,因为它找不到环境变量 你知道为什么这样不行吗 非常感谢您的帮助 我不知道有没有更优雅的解决方案。 通过在crontab的顶部添加环境变量,我可以使脚本在crontab中工作 A
***source.\path\u to\u venv/activate;python./path_to_script.py
我得到一个键错误,因为它找不到环境变量
你知道为什么这样不行吗
非常感谢您的帮助 我不知道有没有更优雅的解决方案。 通过在crontab的顶部添加环境变量,我可以使脚本在crontab中工作
API_KEY=value
API_KEY_SECRET=value
ACCESS_TOKEN=value=value
ACCESS_TOKEN_SECRET=value
# run on 8hrs interval
0 */8 * * * . $HOME/Coding/python/web-scraper-corona/venv/bin/activate && $HOME/Coding/python/web-scraper-corona/venv/bin/python3 /home/chan-dev/Coding/python/web-scraper-corona/twitter-covid19-bot.py >> /tmp/test.txt 2>&1
我还使用crontab来执行Node JS项目。我必须明确说明我的
.env
文件的路径,如下所示:
require('dotenv').config({ path: '/var/www/html/myproject/.env' });
在python dotenv中,我相信可以使用以下方法实现类似的功能:
#或,显式提供“.env”的路径
从pathlib导入路径#仅限Python 3.6+
env_path=路径('.')/'.env'
加载点环境(点环境路径=环境路径)