[英]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.