Невозможно создать представление памяти, поскольку объект не имеет интерфейса буфера

71
6

Я реализую приложение, использующее django 1.3.1 и python 2.7.

Это приложение использует вход в Facebook, но я получаю сообщение об ошибке в ответ:

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

Странно, что локально это работает. Эта ошибка возникает только на веб-сервере, но среда такая же. И это не указывает на конкретный файл или строку кода.

Поиск 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

спросил(а) 2012-09-24T18:15:00+04:00 8 лет, 2 месяца назад
1
Решение
59

Это ошибка в gevent. Это было зафиксировано в 0.13.7. Просто обновите gevent, и вам все будет в порядке. См.: http://www.gevent.org/changelog.html

ответил(а) 2012-09-24T18:20:00+04:00 8 лет, 2 месяца назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема