gpt4 book ai didi

python - 无法在 Cron 中运行 Python 脚本

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:19:13 26 4
gpt4 key购买 nike

我有一个简单的 Python 脚本,我试图将其设置为 cron 作业,但它拒绝运行。当我自己运行它时它确实运行,称它为:

python script.py

我已经尝试在 crontab 中设置我的环境变量,但我无法让它工作。我的 crontab 看起来像这样:

# For more information see the manual pages of crontab(5) and cron(8)
# m h dom mon dow command
SHELL=/bin/bash
PATH=/home/netadmin/bin:/home/net/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/b$

*/2 * * * * PYTHONPATH=/user/bin/python /home/net/path-to-script/script.py >>/home/net/out.txt 2>&1

对此有什么想法吗?

最佳答案

您混淆了两个不相关的概念:

  • Python 解释器位置,它是 Python 解释器程序的路径(某处的可执行文件)
  • PYTHONPATH,它是一个字符串,指示 Python 库的搜索位置(目录)。它不是Python 解释器的位置,而是一个: 分隔的目录列表。如果您不知道它有什么用,请不要使用它!

如果 python script.py 有效,通常不需要调整 PYTHONPATH。您可以使用 which 获取 Python 解释器的完整路径:

$ which python
/usr/bin/python

这将打印您可以在 crontab 中使用的 Python 解释器 的绝对路径:

*/2 * * * * /usr/bin/python /path/to/script.py >>/home/net/out.txt 2>&1

如果不需要,请不要调整 PYTHONPATH。如果 script.py 依赖于系统上未安装的库,我鼓励您学习和使用 virtualenvs .它很容易解决大多数 Python 库依赖性问题。

关于python - 无法在 Cron 中运行 Python 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46104506/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com