Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Can';无法从cron作业中找到dotenv环境变量_Python_Variables_Cron_Environment_Dotenv - Fatal编程技术网

Python Can';无法从cron作业中找到dotenv环境变量

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

我正在运行一个python库中的python脚本,该库使用dotenv从库根中的.env文件加载一些环境变量

这可以从命令行执行,但当我尝试使用以下命令作为cronjob运行时:

***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'
加载点环境(点环境路径=环境路径)