簡體   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