Channels: Python 3.8 not supported?

Created on 24 Oct 2019  路  6Comments  路  Source: django/channels

What seems to have worked fine with python 3.7, broke in 3.8. Not sure, which component fault it is:

weeapps          | WebSocket CONNECT /ws/ [172.28.0.1:38414]
weeapps          | Exception in callback AsyncioSelectorReactor.callLater.<locals>.run() at /home/weeapps/.cache/pypoetry/virtualenvs/weeapps-bF5OakI8-py3.8/lib/python3.8/site-packages/twisted/internet/asyncioreactor.py:287
weeapps          | handle: <TimerHandle when=6319.079751694 AsyncioSelectorReactor.callLater.<locals>.run() at /home/weeapps/.cache/pypoetry/virtualenvs/weeapps-bF5OakI8-py3.8/lib/python3.8/site-packages/twisted/internet/asyncioreactor.py:287>
weeapps          | Traceback (most recent call last):
weeapps          |   File "/usr/local/lib/python3.8/asyncio/events.py", line 81, in _run
weeapps          |     self._context.run(self._callback, *self._args)
weeapps          |   File "/home/weeapps/.cache/pypoetry/virtualenvs/weeapps-bF5OakI8-py3.8/lib/python3.8/site-packages/twisted/internet/asyncioreactor.py", line 290, in run
weeapps          |     f(*args, **kwargs)
weeapps          |   File "/home/weeapps/.cache/pypoetry/virtualenvs/weeapps-bF5OakI8-py3.8/lib/python3.8/site-packages/daphne/server.py", line 270, in application_checker
weeapps          |     exception = application_instance.exception()
weeapps          | asyncio.exceptions.CancelledError
weeapps          | WebSocket DISCONNECT /ws/ [172.28.0.1:38414]
aioredis==1.3.0
appdirs==1.4.3
asgiref==3.2.3
async-timeout==3.0.1
attrs==19.3.0
autobahn==19.10.1
Automat==0.8.0
black==19.3b0
cffi==1.13.1
channels==2.3.0
channels-redis==2.4.0
Click==7.0
constantly==15.1.0
cryptography==2.8
daphne==2.3.0
Django==2.2.6
hiredis==1.0.0
hyperlink==19.0.0
idna==2.8
incremental==17.5.0
msgpack==0.6.2
pycparser==2.19
PyHamcrest==1.9.0
pytz==2019.3
redis==3.3.11
six==1.12.0
sqlparse==0.3.0
toml==0.10.0
Twisted==19.7.0
txaio==18.8.1
-e [email protected]:max-wittig/weeapps.git@fffee4b6734eb275105580cb21de5f70e13cc8f7#egg=weeapps
zope.interface==4.6.0
  • How you're running Channels (runserver? daphne/runworker? Nginx/Apache in front?)
  • daphne with nginx reverse proxy to https in front, inside docker

Most helpful comment

@max-wittig try channels==2.3.1 and channels-redis==2.4.1.

All 6 comments

@max-wittig try channels==2.3.1 and channels-redis==2.4.1.

@laevilgenius Sorry. I should have read the changelog. I will try again. Thanks!

@max-wittig No problem. Please do report back. 馃憤

@carltongibson I'm pretty sure that the last version caused a regression(only with 3.8):

[max@linux]~/Documents/Development/weeapps/backend% poetry run python manage.py runserver --no-reload 0.0.0.0:8000

[NoSuchOptionException]
The "--no-reload" option does not exist.

Something here must have changed: https://github.com/django/asgiref/compare/3.0.0...master

@max-wittig did you mean to use django's --noreload option?

@laevilgenius yes exactly. You're right. I wonder why no-reload worked before in [email protected]. Strange. Thanks for the help!

Now works with 3.8

Was this page helpful?
0 / 5 - 0 ratings