Iva*_*van 5 python cron networking
我想使用下面的脚本从 webstie 检索一些信息。使用命令行效果很好。但是,使用crontab进行调度时,会遇到“错误101”问题。我无法找出根本原因,您能帮忙提供一些建议吗?谢谢!
req = urllib2.Request(tempURL)
req.add_header('User-Agent', ua)
try:
response = urllib2.urlopen(req, timeout=10)
data = response.read()
print data
response.close()
logging.info("Successfully get information about city " + str(k))
except urllib2.URLError, e:
logging.info("Failed to crawl url " + tempURL)
Run Code Online (Sandbox Code Playgroud)
我的Python环境:
机器是redhat,安装了python 2.6.6。为了使用python2.7.4。我从网上下载了 python-2.7.4.tar 并自己构建。还将以下环境变量添加到/etc/profile
PYHOME=$The unpacked path
Run Code Online (Sandbox Code Playgroud)
这样做之后,我得到了以下信息
[]$ python --version
>>> Python 2.7.4
Run Code Online (Sandbox Code Playgroud)
然后按照谷歌搜索,我创建了一个 shell 脚本来设置 python 脚本的 ENV。这个 shell 脚本将用于 crontab 计划
#!/bin/bash
export PYHOME=$Python274_location
python my.py
Run Code Online (Sandbox Code Playgroud)
如果直接在命令行中执行“python my.py”,可以获得正确的结果。但是如果在 crontab 中调度,我总是会收到以下错误。
ERROR:root:Failed to reach server. Reason: [Errno 101] Network is unreachable
Run Code Online (Sandbox Code Playgroud)
在我看来,它应该与我的 python ENV 有关,但到目前为止还没有任何线索。