我刚刚编写了一个使用BeautifulSoup的小python脚本,以便从网站中提取一些信息。
每当从命令行运行脚本时,一切都运行正常。但是作为crontab运行,服务器会返回此错误:
追踪(最近一次通话): 文件" /home/ws/undwv/mindfactory.py" ;,第7行,in 来自bs4进口BeautifulSoup ImportError:没有名为bs4的模块
由于我没有对服务器的root访问权限,所以在用户目录中安装了BeautifulSoup:$ HOME / local / lib / python2.7 / site-packages
我认为cron选项卡不会在用户目录中查找模块。任何想法如何解决?
答案 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
。