我有一些 Python 脚本保存在名为"Documents/downloadFundamentals"
我有以下 bash 脚本:
/home/john/.virtualenvs/investFundamentals/bin/python scrapStockList.py
/home/john/.virtualenvs/investFundamentals/bin/python downloadHistoricalData.py
/home/john/.virtualenvs/investFundamentals/bin/python updateHistoricalData.py
/home/john/.virtualenvs/investFundamentals/bin/python insertDocsToCollection.py
/home/john/.virtualenvs/investFundamentals/bin/python filterStocks.py
/home/john/.virtualenvs/investFundamentals/bin/python getCurrentPortfolio.py
/home/john/.virtualenvs/investFundamentals/bin/python accountSummary.py
crontab 任务似乎正在运行,但没有输出。
我需要在 each.py 之前添加目录吗?
答案1
简短的回答 - 是的,你要么
/home/john/.virtualenvs/investFundamentals/bin/python /path/to/script/scrapStockList.py
或者使用 #!/usr/bin/env python
并使每个文件可执行chmod +x /path/to/scrapStockList.py
。使用virtualenv
表明您可能正在运行系统默认版本以外的 Python 版本,因此第一个选项可能更适合您的情况。
去引用Gilles 的相关文章:
Cron 的默认路径取决于具体实现,因此请检查手册页
当您调用 时python script.py
,解释器会在当前工作目录中查找script.py
。因此,您的命令会失败,因为问题中的 Python 解释器从工作目录启动,而该目录不是您的脚本所在的位置。