0

由于我更新到 django facebook 的最新版本,我收到此错误:

TypeError at /facebook/connect/
open() got an unexpected keyword argument 'timeout'

这是完整的引用:

File "/usr/lib/python2.5/site-packages/django/core/handlers/base.py" in get_response
  111.                         response = callback(request, *callback_args, **callback_kwargs)
File "/usr/lib/python2.5/site-packages/django/views/decorators/csrf.py" in wrapped_view
  77.         return view_func(*args, **kwargs)
File "/usr/lib/python2.5/site-packages/django_facebook/decorators.py" in _wrapped_view
  92.                 get_persistent_graph(request, redirect_uri=current_uri)
File "/usr/lib/python2.5/site-packages/django_facebook/api.py" in get_persistent_graph
  62.         graph = get_facebook_graph(request, *args, **kwargs)
File "/usr/lib/python2.5/site-packages/django_facebook/api.py" in get_facebook_graph
  161.                             code, redirect_uri=redirect_uri)
File "/usr/lib/python2.5/site-packages/open_facebook/api.py" in convert_code
  251.         response = cls.request('oauth/access_token', **kwargs)
File "/usr/lib/python2.5/site-packages/open_facebook/api.py" in request
  75.         response = cls._request(url, post_data)
File "/usr/lib/python2.5/site-packages/open_facebook/api.py" in _request
  110.                                                 timeout=timeout)

Exception Type: TypeError at /facebook/connect/
Exception Value: open() got an unexpected keyword argument 'timeout'
4

2 回答 2

1

我已经通过从这里删除超时参数来“修复”这个问题:

/usr/lib/python2.5/site-packages/open_facebook/api.py

超时参数就在评论的正下方,说这个参数可以被旧的 python 版本省略。

于 2012-10-17T09:36:39.030 回答
0

认为您应该尝试升级您正在使用的 Python 版本(或者更好的是,使用 virtualenv!)

看起来您使用的是相当旧的 Python 2.5,所以您可能会收到该错误,因为该库依赖于可能在 2.6 或 2.7 等中添加的 timeout= 关键字参数。

From https://github.com/tschellenbach/Django-facebook/blob/master/open_facebook/api.py#L92, 看起来像它在 urllib2.OpenerDirector 上调用 open(),所以可能在某个时候在那里添加了超时关键字 arg ^

于 2012-10-17T09:25:26.687 回答