出于某种原因,Cron 不会处理这个并一直告诉我没有安装熊猫(每当我正常运行我的代码时)
我收到这封邮件:
Subject: Cron <user@Justins-MBP-4> PYTHONPATH=/Users/user/Library/Python/3.6/lib/python/site-packages python ~/downloads/random/milbtrans.command
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=user>
X-Cron-Env: <USER=user>
X-Cron-Env: <HOME=/Users/user>
Date: Tue, 8 May 2018 11:18:01 -0400 (EDT)
Traceback (most recent call last):
File "/Users/user/downloads/random/milbtrans.command", line 2, in <module>
import requests, csv, pandas, openpyxl, datetime, time
ImportError: No module named pandas
Run Code Online (Sandbox Code Playgroud)
将 Pandas 更改为已修复,但现在出现此错误:
Traceback (most recent call last):
File "/Users/user/downloads/random/milbtrans.command", line 2, in <module>
import requests, csv, sys, pandas, openpyxl, datetime, time
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pandas/__init__.py", line 19, in <module>
"Missing required dependencies {0}".format(missing_dependencies))
ImportError: Missing required dependencies ['numpy']
Run Code Online (Sandbox Code Playgroud)
任何帮助表示赞赏。
小智 5
您还没有发布您的 crontab,但我怀疑您没有使用 Python 3.6 的正确路径。您的 cron 错误电子邮件显示 cron 使用的 PATH 是 /usr/bin 和 /bin。你的 cron 命令只调用“python”。因此 cron 将使用其 PATH 来尝试解析“python”。
这些位置中是否有可执行文件或 Python 3.6 的链接?
$ /usr/bin/python如果您运行:或$ /bin/python从您自己的登录名运行,您会看到什么?我猜测其中一个、另一个或两者都会启动不同版本的 Python(即 Python 2.xx)
$ which python3
/usr/local/bin/python3
定时任务
0 0 * * * /usr/local/bin/python3 /Users/user/downloads/random/milbtrans.command
Run Code Online (Sandbox Code Playgroud)
我建议你先在没有 PYTHONPATH 的情况下尝试一下。
您还可以更优雅地管理 cron 执行上下文的环境变量(即通过 crontab 本身或“包装器”shell 脚本导出正确的 PATH 环境变量),这也可以解决问题,但基于您共享的内容我相信这是解决您当前问题的最简单方法。
| 归档时间: |
|
| 查看次数: |
3549 次 |
| 最近记录: |