wdb
wdb copied to clipboard
support tornado 6.x or wdb won't run on python 3.10+
Currently wdb-server 3.3.0 requires tornado<6.0,>=5.0. The newest version of tornado is v6.1.
In Python 3.10 MutableMapping was moved
- from
collections.MutableMapping - to
collections.abc.MutableMappingand this causes the following error when starting WDB (which uses tornado 5.1.1)
(py3.10.4) root@a321832d390a:/# wdb.server.py
Traceback (most recent call last):
File "/tcwa/venv/py3.10.4/bin/wdb.server.py", line 9, in <module>
from tornado_systemd import SYSTEMD_SOCKET_FD, SystemdHTTPServer
File "/tcwa/venv/py3.10.4/lib/python3.10/site-packages/tornado_systemd/__init__.py", line 4, in <module>
from tornado.httpserver import HTTPServer
File "/tcwa/venv/py3.10.4/lib/python3.10/site-packages/tornado/httpserver.py", line 33, in <module>
from tornado.http1connection import HTTP1ServerConnection, HTTP1ConnectionParameters
File "/tcwa/venv/py3.10.4/lib/python3.10/site-packages/tornado/http1connection.py", line 30, in <module>
from tornado import httputil
File "/tcwa/venv/py3.10.4/lib/python3.10/site-packages/tornado/httputil.py", line 107, in <module>
class HTTPHeaders(collections.MutableMapping):
AttributeError: module 'collections' has no attribute 'MutableMapping'
Of course you can't patch tornado v5.x since it's not the newest major version and it was correctly developed before python 3.10 came out.
So wdb should use Tornado 6.1+