无法进行内存查看,因为对象没有缓冲区接口

时间:2012-09-24 15:15:03

标签: python django web

我正在使用django 1.3.1和python 2.7实现一个应用程序。

此应用使用Facebook登录,但我收到此消息错误:

TypeError at /promo-racao/
cannot make memory view because object does not have the buffer interface

奇怪的是,它在当地有效。此错误仅在Web服务器上发生,但环境相同。它并没有指向特定的文件或代码行。

在Google上搜索此错误并不会返回任何有用的信息。这是我从Django得到的追溯:

Environment:


Request Method: GET
Request URL: http://dev.muccacompany.com/promo-racao/?code=<my code - yes, I modified this part>

Django Version: 1.3.1
Python Version: 2.7.1
Installed Applications:
['django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.admin',
 'south',
 'mucca_apps.social',
 'djcelery',
 'mailing',
 'muitter',
 'customer',
 'finance',
 'blogs',
 'web',
 'social',
 'gunicorn',
 'so_desconto',
 'djcelery',
 'partner',
 'tracking']
Installed Middleware:
('django.middleware.common.CommonMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'tracking.middleware.TrackingMiddleware')


Traceback:
File "/usr/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
  111.                         response = callback(request, *callback_args, **callback_kwargs)
File "/home/mucca/git/deploy/muccadev/app/views.py" in home
  24.         return participar(request, code)
File "/home/mucca/git/deploy/muccadev/app/views.py" in participar
  33.         fb_profile = get_or_create_fbprofile(request, redirect_url)
File "/home/mucca/git/deploy/muccadev/app/helpers.py" in get_or_create_fbprofile
  16.     token = fb_auth.app_auth(request)
File "/home/mucca/git/deploy/muccadev/mucca_apps/social/helpers.py" in app_auth
  52.             response = urllib2.urlopen(req)
File "/usr/lib/python2.7/urllib2.py" in urlopen
  126.     return _opener.open(url, data, timeout)
File "/usr/lib/python2.7/urllib2.py" in open
  392.         response = self._open(req, data)
File "/usr/lib/python2.7/urllib2.py" in _open
  410.                                   '_open', req)
File "/usr/lib/python2.7/urllib2.py" in _call_chain
  370.             result = func(*args)
File "/usr/lib/python2.7/site-packages/poster/streaminghttp.py" in https_open
  170.             return self.do_open(StreamingHTTPSConnection, req)
File "/usr/lib/python2.7/urllib2.py" in do_open
  1155.             h.request(req.get_method(), req.get_selector(), req.data, headers)
File "/usr/lib/python2.7/httplib.py" in request
  941.         self._send_request(method, url, body, headers)
File "/usr/lib/python2.7/httplib.py" in _send_request
  975.         self.endheaders(body)
File "/usr/lib/python2.7/httplib.py" in endheaders
  937.         self._send_output(message_body)
File "/usr/lib/python2.7/httplib.py" in _send_output
  801.             self.send(message_body)
File "/usr/lib/python2.7/site-packages/poster/streaminghttp.py" in send
  81.                 self.sock.sendall(value)
File "/usr/lib/python2.7/site-packages/gevent-0.13.3-py2.7-linux-i686.egg/gevent/socket.py" in sendall
  510.                 data_sent += self.send(_get_memory(data, data_sent), flags, timeout=timeleft)
File "/usr/lib/python2.7/site-packages/gevent-0.13.3-py2.7-linux-i686.egg/gevent/socket.py" in _get_memory
  261.         return memoryview(string)[offset:]

Exception Type: TypeError at /promo-racao/
Exception Value: cannot make memory view because object does not have the buffer interface

1 个答案:

答案 0 :(得分:1)

这是gevent中的一个错误。它固定在0.13.7。只是升级gevent,你应该没问题。请参阅:http://www.gevent.org/changelog.html