繁体   English   中英

使用Python urllib2时出现奇怪的ImportError

[英]Weird ImportError when using Python urllib2

我已经做了一百万遍了,但是由于某种原因,在尝试使用urllib2时出现一些奇怪的错误。 我最近已从Ubuntu 11.10升级到12.04。

码:

from urllib2 import urlopen
urlopen('http://www.google.com').read()

结果:

Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    urlopen('http://www.google.com').read()
  File "/usr/lib/python2.7/urllib2.py", line 126, in urlopen
    return _opener.open(url, data, timeout)
  File "/usr/lib/python2.7/urllib2.py", line 400, in open
    response = self._open(req, data)
  File "/usr/lib/python2.7/urllib2.py", line 418, in _open
    '_open', req)
  File "/usr/lib/python2.7/urllib2.py", line 378, in _call_chain
    result = func(*args)
  File "/usr/lib/python2.7/urllib2.py", line 1207, in http_open
    return self.do_open(httplib.HTTPConnection, req)
  File "/usr/lib/python2.7/urllib2.py", line 1146, in do_open
    h = http_class(host, timeout=req.timeout) # will parse host:port
  File "/home/nate/httplib.py", line 362, in __init__
ImportError: No module named appengine.api

使用urllib时出现类似错误。 关于什么可能导致此问题以及如何解决此问题的任何想法?

似乎您有一个覆盖标准模块httplib的httplib.py。 并且它正在尝试导入不存在的与Google App Engine相关的库。 您需要将httplib.py重命名为其他名称。

文件“ /home/nate/httplib.py”,第362行,

您的sys.path有一个名为httplib.py的文件,该文件正在尝试导入appengine.api。

重命名您的/home/nate/httplib.py因为它掩盖了同名的标准库模块。

我强烈建议您看一下请求库 它使使用HTTP变得轻而易举。

“ Python的标准urllib2模块提供了您所需的大多数HTTP功能,但该API已被彻底破坏。它是在不同的时间和不同的Web上构建的。它需要大量的工作(甚至重写方法)来执行最简单的操作任务。”

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM