Python httplib2 AttributeError:';内置函数或方法';对象没有属性';新';

Python httplib2 AttributeError:';内置函数或方法';对象没有属性';新';,python,httplib2,Python,Httplib2,我正试图从维基百科上抓取文本。既然已经安装了httplib2,我想我会使用它 当我从他们的数据库进行简单检索时,第一个示例给出了这个错误 > import httplib2 > h = httplib2.Http(".cache") > url = "http://code.google.com/p/httplib2/" > h.request(url, "GET") Traceback (most recent call last): File "<stdin

我正试图从维基百科上抓取文本。既然已经安装了httplib2,我想我会使用它

当我从他们的数据库进行简单检索时,第一个示例给出了这个错误

> import httplib2
> h = httplib2.Http(".cache")
> url = "http://code.google.com/p/httplib2/"
> h.request(url, "GET")

Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
 File "/Library/Frameworks/EPD64.framework/Versions/7.2/lib/python2.7/site-packages/httplib2/__init__.py", line 978, in request
  cached_value = self.cache.get(cachekey)
 File "/Library/Frameworks/EPD64.framework/Versions/7.2/lib/python2.7/site-packages/httplib2/__init__.py", line 625, in get
  cacheFullPath = os.path.join(self.cache, self.safe(key))
 File "/Library/Frameworks/EPD64.framework/Versions/7.2/lib/python2.7/site-packages/httplib2/__init__.py", line 189, in safename
  filemd5 = md5.new(filename).hexdigest()
AttributeError: 'builtin_function_or_method' object has no attribute 'new'
导入httplib2 >h=httplib2.Http(“.cache”) >url=”http://code.google.com/p/httplib2/" >请求(url,“获取”) 回溯(最近一次呼叫最后一次): 文件“”,第1行,在 文件“/Library/Frameworks/EPD64.framework/Versions/7.2/lib/python2.7/site-packages/httplib2/_-init___;.py”,请求中的第978行 cached_value=self.cache.get(cachekey) get中的文件“/Library/Frameworks/EPD64.framework/Versions/7.2/lib/python2.7/site packages/httplib2/_init_____;.py”,第625行 cacheFullPath=os.path.join(self.cache、self.safe(key)) 文件“/Library/Frameworks/EPD64.framework/Versions/7.2/lib/python2.7/site packages/httplib2/__init_____;.py”,第189行,安全名称 filemd5=md5.new(文件名).hexdigest() AttributeError:“内置函数”或“方法”对象没有“新建”属性 我运行的是MacOSX,Python版本:7.2-2(64位),Enthow发行版


我认为这可能是由于安装错误造成的,但httplib2还是与我一直使用的其他软件包一起安装的。另外,我可以尝试重新安装httplib2,但我对此犹豫不决,因为我认为这可能会破坏当前正在运行的其他功能。

由于md5模块已被弃用(请参阅),httplib2的代码可以动态检查旧的md5.new函数或新的hashlib.md5函数。它靠近模块顶部,在我的版本中,它看起来像这样:

# remove depracated warning in python2.6
try:
    from hashlib import sha1 as _sha, md5 as _md5
except ImportError:
    import sha
    import md5
    _sha = sha.new
    _md5 = md5.new
我的猜测是,您的httplib2版本要么太旧,没有此代码,要么不知何故出错了


如果您有最新版本(或者由于某些原因无法/不愿意升级),您可能可以在程序中动态修复它,但我不打算继续这一行,希望升级能够修复它。

谢谢。我曾经使用过httplib2-0.7.2,并且升级/重新安装了httplib2-07.4,这很有效。