4

i can't use django-socketio, i get this error:

AttributeError: 'SocketIOHandler' object has no attribute 'response_headers_list'

Terminal:

Traceback (most recent call last):
  File "/Volumes/DATA/Projekti/virtualenv/caffetouch/lib/python2.7/site-packages/gevent/greenlet.py", line 327, in run
    result = self._run(*self.args, **self.kwargs)
  File "/Volumes/DATA/Projekti/virtualenv/caffetouch/lib/python2.7/site-packages/socketio/server.py", line 49, in handle
    handler.handle()
  File "/Volumes/DATA/Projekti/virtualenv/caffetouch/lib/python2.7/site-packages/gevent/pywsgi.py", line 184, in handle
    result = self.handle_one_request()
  File "/Volumes/DATA/Projekti/virtualenv/caffetouch/lib/python2.7/site-packages/gevent/pywsgi.py", line 321, in handle_one_request
    self.handle_one_response()
  File "/Volumes/DATA/Projekti/virtualenv/caffetouch/lib/python2.7/site-packages/socketio/handler.py", line 58, in handle_one_response
    self.handle_one_response(call_wsgi_app=False)
TypeError: handle_one_response() got an unexpected keyword argument 'call_wsgi_app'
<Greenlet at 0x10247ac30: <bound method SocketIOServer.handle of <SocketIOServer at 0x1028ce8d0 fileno=5 address=127.0.0.1:8000>>(<socket at 0x102976210 fileno=[Errno 9] Bad file d, ('127.0.0.1', 51457))> failed with TypeError

Traceback (most recent call last):
  File "/Volumes/DATA/Projekti/virtualenv/caffetouch/lib/python2.7/site-packages/gevent/greenlet.py", line 327, in run
    result = self._run(*self.args, **self.kwargs)
  File "/Volumes/DATA/Projekti/virtualenv/caffetouch/lib/python2.7/site-packages/socketio/server.py", line 49, in handle
    handler.handle()
  File "/Volumes/DATA/Projekti/virtualenv/caffetouch/lib/python2.7/site-packages/gevent/pywsgi.py", line 184, in handle
    result = self.handle_one_request()
  File "/Volumes/DATA/Projekti/virtualenv/caffetouch/lib/python2.7/site-packages/gevent/pywsgi.py", line 321, in handle_one_request
    self.handle_one_response()
  File "/Volumes/DATA/Projekti/virtualenv/caffetouch/lib/python2.7/site-packages/socketio/handler.py", line 68, in handle_one_response
    jobs = self.transport.connect(session, request_method)
  File "/Volumes/DATA/Projekti/virtualenv/caffetouch/lib/python2.7/site-packages/socketio/transports.py", line 92, in connect
    self.write_packed(session_id)
  File "/Volumes/DATA/Projekti/virtualenv/caffetouch/lib/python2.7/site-packages/socketio/transports.py", line 19, in write_packed
    self.write(data)
  File "/Volumes/DATA/Projekti/virtualenv/caffetouch/lib/python2.7/site-packages/socketio/transports.py", line 22, in write
    if 'Content-Length' not in self.handler.response_headers_list:
AttributeError: 'SocketIOHandler' object has no attribute 'response_headers_list'
<Greenlet at 0x10247ac30: <bound method SocketIOServer.handle of <SocketIOServer at 0x1028ce8d0 fileno=5 address=127.0.0.1:8000>>(<socket at 0x102976210 fileno=[Errno 9] Bad file d, ('127.0.0.1', 51460))> failed with AttributeError

I think this is showing becouse it isn't supported with new django, or something like this.

Any solution?

2 Answers 2

2

Hope it won't be too late. It's actually a compatibility issue. You need to uninstall some newer packages. See here.

Here is part of my configuration. It works.

$ pip list
Django (1.6.7)
django-socketio (0.3.8)
gevent (0.13.6)
gevent-socketio (0.2.1)
gevent-websocket (0.2.3)
greenlet (0.4.5)
pip (1.5.6)
setuptools (6.0.2)
sphinx-me (0.3)
Sign up to request clarification or add additional context in comments.

Comments

0

If you are using django 1.8 or above then you need to uninstall new version and install the previous version using the given command:

pip install django-socketio==0.3.9
pip uninstall gevent-socketio gevent
pip install gevent-socketio==0.2.1 gevent==0.13.6 

For more details, see the following thread: https://github.com/stephenmcd/django-socketio/issues/63

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.