我有一个Python脚本,该脚本使用请求库向URL发出curl请求并获取响应。当我手动运行它时,它能够获取响应对象并更新var值。也为脚本设置了虚拟环境。脚本如下:
#! /bin/bash
source myEnv/bin/activate
python /Users/mj/req.py
和crontab如下:
*/1 * * * * /Users/mj/Enviroments/myscript.sh >> /Users/mj/Enviroments/myout.txt
和req.py:
resp = requests.post(<some url>)
print(resp.json())
并运行脚本:
source myscript.sh
它会打印相应的obj并激活虚拟环境,但输出不会反映在myout.txt中。
答案 0 :(得分:0)
代替激活环境,请尝试使用该虚拟环境中python的完整路径:
更改此:
#! /bin/bash
source myEnv/bin/activate
python /Users/mj/req.py
对于这样的事情:
#! /bin/bash
/.../myEnv/bin/python /Users/mj/req.py