Closed 2sn closed 7 months ago
Describe the bug
pip install fails on Python 3.12 due to dependence on aiohttp which is currently not compatible with Python 3.12
aiohttp
To Reproduce
Steps to reproduce the behavior:
1) install wslink from pip on command line
Code
pip install wslink
Expected behavior
Installation.
Screenshots
~>pip3 install wslink Collecting wslink Obtaining dependency information for wslink from https://files.pythonhosted.org/packages/07/24/95a870a3ecf48de85c5dbbdd286e2c38c51e8ddeaab7a65c43eca4ba8cbe/wslink-1.12.3-py3-none-any.whl.metadata Using cached wslink-1.12.3-py3-none-any.whl.metadata (3.0 kB) Collecting aiohttp<4 (from wslink) Using cached aiohttp-3.8.5.tar.gz (7.4 MB) Installing build dependencies ... done Getting requirements to build wheel ... done Installing backend dependencies ... done Preparing metadata (pyproject.toml) ... done Requirement already satisfied: attrs>=17.3.0 in ./Python/lib/python3.12/site-packages (from aiohttp<4->wslink) (23.1.0) Requirement already satisfied: charset-normalizer<4.0,>=2.0 in ./Python/lib/python3.12/site-packages (from aiohttp<4->wslink) (3.3.0) Requirement already satisfied: multidict<7.0,>=4.5 in ./Python/lib/python3.12/site-packages (from aiohttp<4->wslink) (6.0.4) Requirement already satisfied: async-timeout<5.0,>=4.0.0a3 in ./Python/lib/python3.12/site-packages (from aiohttp<4->wslink) (4.0.3) Requirement already satisfied: yarl<2.0,>=1.0 in ./Python/lib/python3.12/site-packages (from aiohttp<4->wslink) (1.9.2) Requirement already satisfied: frozenlist>=1.1.1 in ./Python/lib/python3.12/site-packages (from aiohttp<4->wslink) (1.4.0) Requirement already satisfied: aiosignal>=1.1.2 in ./Python/lib/python3.12/site-packages (from aiohttp<4->wslink) (1.3.1) Requirement already satisfied: idna>=2.0 in ./Python/lib/python3.12/site-packages (from yarl<2.0,>=1.0->aiohttp<4->wslink) (3.4) Using cached wslink-1.12.3-py3-none-any.whl (33 kB) Building wheels for collected packages: aiohttp Building wheel for aiohttp (pyproject.toml) ... error error: subprocess-exited-with-error × Building wheel for aiohttp (pyproject.toml) did not run successfully. │ exit code: 1 ╰─> [160 lines of output] ********************* * Accelerated build * ********************* running bdist_wheel running build running build_py creating build creating build/lib.linux-x86_64-cpython-312 creating build/lib.linux-x86_64-cpython-312/aiohttp copying aiohttp/worker.py -> build/lib.linux-x86_64-cpython-312/aiohttp copying aiohttp/web_ws.py -> build/lib.linux-x86_64-cpython-312/aiohttp copying aiohttp/web_urldispatcher.py -> build/lib.linux-x86_64-cpython-312/aiohttp copying aiohttp/web_server.py -> build/lib.linux-x86_64-cpython-312/aiohttp copying aiohttp/web_runner.py -> build/lib.linux-x86_64-cpython-312/aiohttp copying aiohttp/web_routedef.py -> build/lib.linux-x86_64-cpython-312/aiohttp copying aiohttp/web_response.py -> build/lib.linux-x86_64-cpython-312/aiohttp copying aiohttp/web_request.py -> build/lib.linux-x86_64-cpython-312/aiohttp copying aiohttp/web_protocol.py -> build/lib.linux-x86_64-cpython-312/aiohttp copying aiohttp/web_middlewares.py -> build/lib.linux-x86_64-cpython-312/aiohttp copying aiohttp/web_log.py -> build/lib.linux-x86_64-cpython-312/aiohttp copying aiohttp/web_fileresponse.py -> build/lib.linux-x86_64-cpython-312/aiohttp copying aiohttp/web_exceptions.py -> build/lib.linux-x86_64-cpython-312/aiohttp copying aiohttp/web_app.py -> build/lib.linux-x86_64-cpython-312/aiohttp copying aiohttp/web.py -> build/lib.linux-x86_64-cpython-312/aiohttp copying aiohttp/typedefs.py -> build/lib.linux-x86_64-cpython-312/aiohttp copying aiohttp/tracing.py -> build/lib.linux-x86_64-cpython-312/aiohttp copying aiohttp/test_utils.py -> build/lib.linux-x86_64-cpython-312/aiohttp copying aiohttp/tcp_helpers.py -> build/lib.linux-x86_64-cpython-312/aiohttp copying aiohttp/streams.py -> build/lib.linux-x86_64-cpython-312/aiohttp copying aiohttp/resolver.py -> build/lib.linux-x86_64-cpython-312/aiohttp copying aiohttp/pytest_plugin.py -> build/lib.linux-x86_64-cpython-312/aiohttp copying aiohttp/payload_streamer.py -> build/lib.linux-x86_64-cpython-312/aiohttp copying aiohttp/payload.py -> build/lib.linux-x86_64-cpython-312/aiohttp copying aiohttp/multipart.py -> build/lib.linux-x86_64-cpython-312/aiohttp copying aiohttp/log.py -> build/lib.linux-x86_64-cpython-312/aiohttp copying aiohttp/locks.py -> build/lib.linux-x86_64-cpython-312/aiohttp copying aiohttp/http_writer.py -> build/lib.linux-x86_64-cpython-312/aiohttp copying aiohttp/http_websocket.py -> build/lib.linux-x86_64-cpython-312/aiohttp copying aiohttp/http_parser.py -> build/lib.linux-x86_64-cpython-312/aiohttp copying aiohttp/http_exceptions.py -> build/lib.linux-x86_64-cpython-312/aiohttp copying aiohttp/http.py -> build/lib.linux-x86_64-cpython-312/aiohttp copying aiohttp/helpers.py -> build/lib.linux-x86_64-cpython-312/aiohttp copying aiohttp/hdrs.py -> build/lib.linux-x86_64-cpython-312/aiohttp copying aiohttp/formdata.py -> build/lib.linux-x86_64-cpython-312/aiohttp copying aiohttp/cookiejar.py -> build/lib.linux-x86_64-cpython-312/aiohttp copying aiohttp/connector.py -> build/lib.linux-x86_64-cpython-312/aiohttp copying aiohttp/client_ws.py -> build/lib.linux-x86_64-cpython-312/aiohttp copying aiohttp/client_reqrep.py -> build/lib.linux-x86_64-cpython-312/aiohttp copying aiohttp/client_proto.py -> build/lib.linux-x86_64-cpython-312/aiohttp copying aiohttp/client_exceptions.py -> build/lib.linux-x86_64-cpython-312/aiohttp copying aiohttp/client.py -> build/lib.linux-x86_64-cpython-312/aiohttp copying aiohttp/base_protocol.py -> build/lib.linux-x86_64-cpython-312/aiohttp copying aiohttp/abc.py -> build/lib.linux-x86_64-cpython-312/aiohttp copying aiohttp/__init__.py -> build/lib.linux-x86_64-cpython-312/aiohttp running egg_info writing aiohttp.egg-info/PKG-INFO writing dependency_links to aiohttp.egg-info/dependency_links.txt writing requirements to aiohttp.egg-info/requires.txt writing top-level names to aiohttp.egg-info/top_level.txt reading manifest file 'aiohttp.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching 'aiohttp' anywhere in distribution warning: no previously-included files matching '*.pyc' found anywhere in distribution warning: no previously-included files matching '*.pyd' found anywhere in distribution warning: no previously-included files matching '*.so' found anywhere in distribution warning: no previously-included files matching '*.lib' found anywhere in distribution warning: no previously-included files matching '*.dll' found anywhere in distribution warning: no previously-included files matching '*.a' found anywhere in distribution warning: no previously-included files matching '*.obj' found anywhere in distribution warning: no previously-included files found matching 'aiohttp/*.html' no previously-included directories found matching 'docs/_build' adding license file 'LICENSE.txt' writing manifest file 'aiohttp.egg-info/SOURCES.txt' copying aiohttp/_cparser.pxd -> build/lib.linux-x86_64-cpython-312/aiohttp copying aiohttp/_find_header.pxd -> build/lib.linux-x86_64-cpython-312/aiohttp copying aiohttp/_headers.pxi -> build/lib.linux-x86_64-cpython-312/aiohttp copying aiohttp/_helpers.pyi -> build/lib.linux-x86_64-cpython-312/aiohttp copying aiohttp/_helpers.pyx -> build/lib.linux-x86_64-cpython-312/aiohttp copying aiohttp/_http_parser.pyx -> build/lib.linux-x86_64-cpython-312/aiohttp copying aiohttp/_http_writer.pyx -> build/lib.linux-x86_64-cpython-312/aiohttp copying aiohttp/_websocket.pyx -> build/lib.linux-x86_64-cpython-312/aiohttp copying aiohttp/py.typed -> build/lib.linux-x86_64-cpython-312/aiohttp creating build/lib.linux-x86_64-cpython-312/aiohttp/.hash copying aiohttp/.hash/_cparser.pxd.hash -> build/lib.linux-x86_64-cpython-312/aiohttp/.hash copying aiohttp/.hash/_find_header.pxd.hash -> build/lib.linux-x86_64-cpython-312/aiohttp/.hash copying aiohttp/.hash/_helpers.pyi.hash -> build/lib.linux-x86_64-cpython-312/aiohttp/.hash copying aiohttp/.hash/_helpers.pyx.hash -> build/lib.linux-x86_64-cpython-312/aiohttp/.hash copying aiohttp/.hash/_http_parser.pyx.hash -> build/lib.linux-x86_64-cpython-312/aiohttp/.hash copying aiohttp/.hash/_http_writer.pyx.hash -> build/lib.linux-x86_64-cpython-312/aiohttp/.hash copying aiohttp/.hash/_websocket.pyx.hash -> build/lib.linux-x86_64-cpython-312/aiohttp/.hash copying aiohttp/.hash/hdrs.py.hash -> build/lib.linux-x86_64-cpython-312/aiohttp/.hash running build_ext building 'aiohttp._websocket' extension creating build/temp.linux-x86_64-cpython-312 creating build/temp.linux-x86_64-cpython-312/aiohttp gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -I/home/alex/Python/include/python3.12 -c aiohttp/_websocket.c -o build/temp.linux-x86_64-cpython-312/aiohttp/_websocket.o aiohttp/_websocket.c: In function ‘__pyx_pf_7aiohttp_10_websocket__websocket_mask_cython’: aiohttp/_websocket.c:1475:3: warning: ‘Py_OptimizeFlag’ is deprecated [-Wdeprecated-declarations] 1475 | if (unlikely(!Py_OptimizeFlag)) { | ^~ In file included from /home/alex/Python/include/python3.12/Python.h:48, from aiohttp/_websocket.c:6: /home/alex/Python/include/python3.12/cpython/pydebug.h:13:37: note: declared here 13 | Py_DEPRECATED(3.12) PyAPI_DATA(int) Py_OptimizeFlag; | ^~~~~~~~~~~~~~~ aiohttp/_websocket.c: In function ‘__Pyx_get_tp_dict_version’: aiohttp/_websocket.c:2680:5: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations] 2680 | return likely(dict) ? __PYX_GET_DICT_VERSION(dict) : 0; | ^~~~~~ In file included from /home/alex/Python/include/python3.12/dictobject.h:90, from /home/alex/Python/include/python3.12/Python.h:61: /home/alex/Python/include/python3.12/cpython/dictobject.h:22:34: note: declared here 22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag; | ^~~~~~~~~~~~~~ aiohttp/_websocket.c: In function ‘__Pyx_get_object_dict_version’: aiohttp/_websocket.c:2692:5: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations] 2692 | return (dictptr && *dictptr) ? __PYX_GET_DICT_VERSION(*dictptr) : 0; | ^~~~~~ /home/alex/Python/include/python3.12/cpython/dictobject.h:22:34: note: declared here 22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag; | ^~~~~~~~~~~~~~ aiohttp/_websocket.c: In function ‘__Pyx_object_dict_version_matches’: aiohttp/_websocket.c:2696:5: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations] 2696 | if (unlikely(!dict) || unlikely(tp_dict_version != __PYX_GET_DICT_VERSION(dict))) | ^~ /home/alex/Python/include/python3.12/cpython/dictobject.h:22:34: note: declared here 22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag; | ^~~~~~~~~~~~~~ aiohttp/_websocket.c: In function ‘__Pyx_CLineForTraceback’: aiohttp/_websocket.c:2741:9: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations] 2741 | __PYX_PY_DICT_LOOKUP_IF_MODIFIED( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/alex/Python/include/python3.12/cpython/dictobject.h:22:34: note: declared here 22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag; | ^~~~~~~~~~~~~~ aiohttp/_websocket.c:2741:9: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations] 2741 | __PYX_PY_DICT_LOOKUP_IF_MODIFIED( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/alex/Python/include/python3.12/cpython/dictobject.h:22:34: note: declared here 22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag; | ^~~~~~~~~~~~~~ aiohttp/_websocket.c: In function ‘__Pyx_PyInt_As_long’: aiohttp/_websocket.c:3042:53: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’ 3042 | const digit* digits = ((PyLongObject*)x)->ob_digit; | ^~ aiohttp/_websocket.c:3097:53: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’ 3097 | const digit* digits = ((PyLongObject*)x)->ob_digit; | ^~ aiohttp/_websocket.c: In function ‘__Pyx_PyInt_As_int’: aiohttp/_websocket.c:3238:53: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’ 3238 | const digit* digits = ((PyLongObject*)x)->ob_digit; | ^~ aiohttp/_websocket.c:3293:53: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’ 3293 | const digit* digits = ((PyLongObject*)x)->ob_digit; | ^~ aiohttp/_websocket.c: In function ‘__Pyx_PyIndex_AsSsize_t’: aiohttp/_websocket.c:3744:45: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’ 3744 | const digit* digits = ((PyLongObject*)b)->ob_digit; | ^~ error: command '/usr/bin/gcc' failed with exit code 1 [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for aiohttp Failed to build aiohttp ERROR: Could not build wheels for aiohttp, which is required to install pyproject.toml-based projects
Platform:
Fedora Linux 38
Device:
OS:
Browsers Affected:
wslink version: 1.12.3
Thanks for pointing that out, but I don't think there is anything we can do. We can only wait for aiohttp to catch up.
This is fixed now in aiohttp
Describe the bug
pip install fails on Python 3.12 due to dependence on
aiohttp
which is currently not compatible with Python 3.12To Reproduce
Steps to reproduce the behavior:
1) install wslink from pip on command line
Code
Expected behavior
Installation.
Screenshots
Platform:
Fedora Linux 38
Device:
OS:
Browsers Affected:
wslink version: 1.12.3