aio-libs / aiohttp

Asynchronous HTTP client/server framework for asyncio and Python
https://docs.aiohttp.org
Other
15.11k stars 2.02k forks source link

please add python 3.12 support #7646

Closed ekneg54 closed 1 year ago

ekneg54 commented 1 year ago

Is your feature request related to a problem?

we try to update our project to support python 3.12 as we recognised that your wheels are not available for python 3.12.

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
  ╰─> [173 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/client.py -> build/lib.linux-x86_64-cpython-312/aiohttp
      copying aiohttp/abc.py -> build/lib.linux-x86_64-cpython-312/aiohttp
      copying aiohttp/web_routedef.py -> build/lib.linux-x86_64-cpython-312/aiohttp
      copying aiohttp/cookiejar.py -> build/lib.linux-x86_64-cpython-312/aiohttp
      copying aiohttp/helpers.py -> build/lib.linux-x86_64-cpython-312/aiohttp
      copying aiohttp/typedefs.py -> build/lib.linux-x86_64-cpython-312/aiohttp
      copying aiohttp/resolver.py -> build/lib.linux-x86_64-cpython-312/aiohttp
      copying aiohttp/worker.py -> build/lib.linux-x86_64-cpython-312/aiohttp
      copying aiohttp/web_fileresponse.py -> build/lib.linux-x86_64-cpython-312/aiohttp
      copying aiohttp/test_utils.py -> build/lib.linux-x86_64-cpython-312/aiohttp
      copying aiohttp/web_server.py -> build/lib.linux-x86_64-cpython-312/aiohttp
      copying aiohttp/pytest_plugin.py -> build/lib.linux-x86_64-cpython-312/aiohttp
      copying aiohttp/hdrs.py -> build/lib.linux-x86_64-cpython-312/aiohttp
      copying aiohttp/__init__.py -> build/lib.linux-x86_64-cpython-312/aiohttp
      copying aiohttp/web_response.py -> build/lib.linux-x86_64-cpython-312/aiohttp
      copying aiohttp/tracing.py -> build/lib.linux-x86_64-cpython-312/aiohttp
      copying aiohttp/web.py -> build/lib.linux-x86_64-cpython-312/aiohttp
      copying aiohttp/web_exceptions.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/multipart.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/web_runner.py -> build/lib.linux-x86_64-cpython-312/aiohttp
      copying aiohttp/client_exceptions.py -> build/lib.linux-x86_64-cpython-312/aiohttp
      copying aiohttp/web_middlewares.py -> build/lib.linux-x86_64-cpython-312/aiohttp
      copying aiohttp/streams.py -> build/lib.linux-x86_64-cpython-312/aiohttp
      copying aiohttp/web_urldispatcher.py -> build/lib.linux-x86_64-cpython-312/aiohttp
      copying aiohttp/base_protocol.py -> build/lib.linux-x86_64-cpython-312/aiohttp
      copying aiohttp/http.py -> build/lib.linux-x86_64-cpython-312/aiohttp
      copying aiohttp/tcp_helpers.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_log.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_app.py -> build/lib.linux-x86_64-cpython-312/aiohttp
      copying aiohttp/client_reqrep.py -> build/lib.linux-x86_64-cpython-312/aiohttp
      copying aiohttp/log.py -> build/lib.linux-x86_64-cpython-312/aiohttp
      copying aiohttp/formdata.py -> build/lib.linux-x86_64-cpython-312/aiohttp
      copying aiohttp/locks.py -> build/lib.linux-x86_64-cpython-312/aiohttp
      copying aiohttp/http_parser.py -> build/lib.linux-x86_64-cpython-312/aiohttp
      copying aiohttp/client_proto.py -> build/lib.linux-x86_64-cpython-312/aiohttp
      copying aiohttp/connector.py -> build/lib.linux-x86_64-cpython-312/aiohttp
      copying aiohttp/web_ws.py -> build/lib.linux-x86_64-cpython-312/aiohttp
      copying aiohttp/client_ws.py -> build/lib.linux-x86_64-cpython-312/aiohttp
      copying aiohttp/http_exceptions.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
      x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/home/vagrant/external_work/Logprep/.venv/include -I/usr/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 /usr/include/python3.12/Python.h:48,
                       from aiohttp/_websocket.c:6:
      /usr/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 /usr/include/python3.12/dictobject.h:90,
                       from /usr/include/python3.12/Python.h:61,
                       from aiohttp/_websocket.c:6:
      /usr/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;
            |     ^~~~~~
      In file included from /usr/include/python3.12/dictobject.h:90,
                       from /usr/include/python3.12/Python.h:61,
                       from aiohttp/_websocket.c:6:
      /usr/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)))
            |     ^~
      In file included from /usr/include/python3.12/dictobject.h:90,
                       from /usr/include/python3.12/Python.h:61,
                       from aiohttp/_websocket.c:6:
      /usr/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(
            |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      In file included from /usr/include/python3.12/dictobject.h:90,
                       from /usr/include/python3.12/Python.h:61,
                       from aiohttp/_websocket.c:6:
      /usr/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(
            |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      In file included from /usr/include/python3.12/dictobject.h:90,
                       from /usr/include/python3.12/Python.h:61,
                       from aiohttp/_websocket.c:6:
      /usr/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/x86_64-linux-gnu-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

Describe the solution you'd like

please add wheels for python 3.12

Describe alternatives you've considered

none

Related component

Client

Additional context

No response

Code of Conduct

cdce8p commented 1 year ago

Duplicated of https://github.com/aio-libs/aiohttp/issues/7639 It's already being worked on.

2sn commented 1 year ago

I have same issue. @cdce8p Thanks for looking into it.

EmpowerZ commented 1 year ago

Me too still having the same issue

cdce8p commented 1 year ago

In case some have missed it. 3.9.0b0 was released last weekend with support for Python 3.12. Any help testing it, is welcome.

dankoman30 commented 1 year ago

if you're using Python 3.12 and need a temporary fix, install the latest aiohttp 3.9 prerelease by running the following in shell: pip install aiohttp==3.9.0b0

capt-watson commented 8 months ago

Have been waiting for months for any update on the module 'aiohttp' due to the following error:

`Building wheel for aiohttp (pyproject.toml) did not run successfully. exit code: 1 ╰─> [110 lines of output]


  * Accelerated build *
  *********************
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build\lib.win-amd64-cpython-312
  creating build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\abc.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\base_protocol.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\client.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\client_exceptions.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\client_proto.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\client_reqrep.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\client_ws.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\connector.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\cookiejar.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\formdata.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\hdrs.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\helpers.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\http.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\http_exceptions.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\http_parser.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\http_websocket.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\http_writer.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\locks.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\log.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\multipart.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\payload.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\payload_streamer.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\pytest_plugin.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\resolver.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\streams.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\tcp_helpers.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\test_utils.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\tracing.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\typedefs.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\web.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\web_app.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\web_exceptions.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\web_fileresponse.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\web_log.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\web_middlewares.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\web_protocol.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\web_request.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\web_response.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\web_routedef.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\web_runner.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\web_server.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\web_urldispatcher.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\web_ws.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\worker.py -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\__init__.py -> build\lib.win-amd64-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.win-amd64-cpython-312\aiohttp
  copying aiohttp\_find_header.pxd -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\_headers.pxi -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\_helpers.pyi -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\_helpers.pyx -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\_http_parser.pyx -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\_http_writer.pyx -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\_websocket.pyx -> build\lib.win-amd64-cpython-312\aiohttp
  copying aiohttp\py.typed -> build\lib.win-amd64-cpython-312\aiohttp
  creating build\lib.win-amd64-cpython-312\aiohttp\.hash
  copying aiohttp\.hash\_cparser.pxd.hash -> build\lib.win-amd64-cpython-312\aiohttp\.hash
  copying aiohttp\.hash\_find_header.pxd.hash -> build\lib.win-amd64-cpython-312\aiohttp\.hash
  copying aiohttp\.hash\_helpers.pyi.hash -> build\lib.win-amd64-cpython-312\aiohttp\.hash
  copying aiohttp\.hash\_helpers.pyx.hash -> build\lib.win-amd64-cpython-312\aiohttp\.hash
  copying aiohttp\.hash\_http_parser.pyx.hash -> build\lib.win-amd64-cpython-312\aiohttp\.hash
  copying aiohttp\.hash\_http_writer.pyx.hash -> build\lib.win-amd64-cpython-312\aiohttp\.hash
  copying aiohttp\.hash\_websocket.pyx.hash -> build\lib.win-amd64-cpython-312\aiohttp\.hash
  copying aiohttp\.hash\hdrs.py.hash -> build\lib.win-amd64-cpython-312\aiohttp\.hash
  running build_ext
  building 'aiohttp._websocket' extension
  creating build\temp.win-amd64-cpython-312
  creating build\temp.win-amd64-cpython-312\Release
  creating build\temp.win-amd64-cpython-312\Release\aiohttp
  "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.39.33519\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -IC:\Users\shekh\miniconda3\include -IC:\Users\shekh\miniconda3\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.39.33519\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\VS\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\um" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\shared" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\winrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\cppwinrt" /Tcaiohttp/_websocket.c /Fobuild\temp.win-amd64-cpython-312\Release\aiohttp/_websocket.obj
  _websocket.c
  aiohttp/_websocket.c(1475): warning C4996: 'Py_OptimizeFlag': deprecated in 3.12
  aiohttp/_websocket.c(3042): error C2039: 'ob_digit': is not a member of '_longobject'
  C:\Users\shekh\miniconda3\include\cpython/longintrepr.h(87): note: see declaration of '_longobject'
  aiohttp/_websocket.c(3097): error C2039: 'ob_digit': is not a member of '_longobject'
  C:\Users\shekh\miniconda3\include\cpython/longintrepr.h(87): note: see declaration of '_longobject'
  aiohttp/_websocket.c(3238): error C2039: 'ob_digit': is not a member of '_longobject'
  C:\Users\shekh\miniconda3\include\cpython/longintrepr.h(87): note: see declaration of '_longobject'
  aiohttp/_websocket.c(3293): error C2039: 'ob_digit': is not a member of '_longobject'
  C:\Users\shekh\miniconda3\include\cpython/longintrepr.h(87): note: see declaration of '_longobject'
  aiohttp/_websocket.c(3744): error C2039: 'ob_digit': is not a member of '_longobject'
  C:\Users\shekh\miniconda3\include\cpython/longintrepr.h(87): note: see declaration of '_longobject'
  error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\MSVC\\14.39.33519\\bin\\HostX86\\x64\\cl.exe' failed with exit code 2
  [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`