我正在运行 django example 提供的 python-social-auth ,并且收到以下 500 服务器错误。

ImportError at /login/bitbucket/
cannot import name SIGNATURE_HMAC
Request Method: GET
Request URL:    http://localhost:8000/login/bitbucket/
Django Version: 1.4.4
Exception Type: ImportError
Exception Value:
cannot import name SIGNATURE_HMAC
Exception Location: /usr/local/lib/python2.7/dist-packages/requests_oauthlib/core.py in  <module>, line 3
Python Executable:  /usr/bin/python
Python Version: 2.7.3

我在 Google 和 StackOverflow 上四处搜索,找不到任何答案。我刚刚克隆了它,还没有更改任何代码。我已经安装了 hashlib 和 hmac 库

[编辑]
我升级了 oauthlib 和 requests_oauthlib 并且错误被一个新的替换了
AttributeError at /login/bitbucket/
'Request' object has no attribute 'body'
Request Method: GET
Request URL:    http://localhost:8000/login/bitbucket/
Django Version: 1.4.4
Exception Type: AttributeError
Exception Value:
'Request' object has no attribute 'body'
Exception Location: /usr/local/lib/python2.7/dist-packages/requests_oauthlib/core.py in         __call__, line 46
Python Executable:  /usr/bin/python
Python Version: 2.7.3

最佳答案

仅供引用,我通过通过pip重新安装了oauthlib软件包解决了标题中的问题(来自Google)。

sudo pip install --upgrade oauthlib

由于这个问题,在升级oauthlib之后,我无法打开Ubuntu软件中心。

10-05 18:58