如何在运行python脚本作为cron选项卡时启用本地模块?

时间:2015-07-02 12:52:29

标签: python cron beautifulsoup crontab

我刚刚编写了一个使用BeautifulSoup的小python脚本,以便从网站中提取一些信息。

每当从命令行运行脚本时,一切都运行正常。但是作为crontab运行,服务器会返回此错误:

  

追踪(最近一次通话):     文件" /home/ws/undwv/mindfactory.py" ;,第7行,in       来自bs4进口BeautifulSoup   ImportError:没有名为bs4的模块

由于我没有对服务器的root访问权限,所以在用户目录中安装了BeautifulSoup:$ HOME / local / lib / python2.7 / site-packages

我认为cron选项卡不会在用户目录中查找模块。任何想法如何解决?

2 个答案:

答案 0 :(得分:1)

只需将文件夹添加到脚本开头的python路径:

import sys
sys.path.append("$HOME/local/lib/python2.7/site-packages")

$HOME更改为正确的值。

答案 1 :(得分:0)

~/.local路径(由pip install --user填充)可自动使用,即如果cron作业属于相应的用户就足够了。

要配置任意路径,可以在crontab中使用PYTHONPATH envvar。不要破坏脚本中的sys.path