【发布时间】:2014-08-25 17:34:23
【问题描述】:
我正在尝试使用 crontab 定期执行 python 脚本。我按照here 给出的解决方案使用 virtualenv 执行命令。以下是我的 crontab
SHELL=/bin/bash
HOME=/
MAILTO="myid@example.com"
* * * * * cd /home/jaskaran/edmhunters && /home/jaskaran/edmhunters/env/bin/python /home/jaskaran/edmhunters/scripts/db/songlist.py
我不断收到此 ImportError
Traceback (most recent call last):
File "/home/jaskaran/edmhunters/scripts/db/songlist.py", line 4, in <module>
from hunt.models import DJ, Song
ImportError: No module named hunt.models
脚本从 shell 运行时运行良好。我错过了什么?
【问题讨论】:
-
尝试将这两行放到一个shell脚本中然后运行它,看看从shell运行时是否弹出错误,然后在cronjob中再试一次。
-
@metatoaster 如果从 shell 脚本运行,我会得到同样的错误。
source env/bin/activate和/home/jaskaran/edmhunters/env/bin/python似乎工作方式不同。 -
尝试进入其他目录并通过绝对路径运行脚本,并激活该 virtualenv。我怀疑
hunt.models没有某种.egg-link。