Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

please add python 3.12 support #7646

Closed
1 task done
Tracked by #447 ...
ekneg54 opened this issue Oct 3, 2023 · 6 comments
Closed
1 task done
Tracked by #447 ...

please add python 3.12 support #7646

ekneg54 opened this issue Oct 3, 2023 · 6 comments

Comments

@ekneg54
Copy link

ekneg54 commented Oct 3, 2023

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

  • I agree to follow the aio-libs Code of Conduct
@cdce8p
Copy link
Contributor

cdce8p commented Oct 3, 2023

Duplicated of #7639
It's already being worked on.

@2sn

This comment has been minimized.

@EmpowerZ

This comment has been minimized.

@cdce8p
Copy link
Contributor

cdce8p commented Oct 9, 2023

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
Copy link

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

denehoffman added a commit to denehoffman/oterm that referenced this issue Nov 3, 2023
Wayonb added a commit to symbol/symbol that referenced this issue Nov 15, 2023
problem: 1. Windows by default installs Python 3.12 which is not supported by aiohttp
                   aio-libs/aiohttp#7646
               2. build scripts fail to diff current JSON files with the generated file on Windows due to extra cr.
               3. Javascript SDK is failing to build on Windows due to
                   a. build using the linker from the git package instead of VS
                   b. run of the vector scripts failed since Windows shell does not know BLOCKCHAIN env.
                       Windows shell requires %BLOCKCHAIN% vs ${BLOCKCHAIN}
                   c. import file does not match URL format(https://nodejs.org/api/esm.html#file-urls)
solution: 1. Windows install Python 3.11 which is supported by aiohttp
              2. Ignore cr on the diff of JSON files.
              3. Javascript SDK updates
                  a. Put the VS tool first in the PATH in the user profile.
                  b. run the vector scripts with bash so that the environment variable(BLOCKCHAIN) will get processed.
                  c. convert the import file pathToFileURL to URL format
Wayonb added a commit to symbol/symbol that referenced this issue Nov 15, 2023
problem: 1. Windows by default installs Python 3.12 which is not supported by aiohttp
            aio-libs/aiohttp#7646
         2. build scripts fail to diff current JSON files with the generated file on Windows due to extra cr.
         3. Javascript SDK is failing to build on Windows due to
            a. build using the linker from the git package instead of VS
            b. run of the vector scripts failed since Windows shell does not know BLOCKCHAIN env.
               Windows shell requires %BLOCKCHAIN% vs ${BLOCKCHAIN}
            c. import file does not match URL format(https://nodejs.org/api/esm.html#file-urls)
solution: 1. Windows install Python 3.11 which is supported by aiohttp
          2. Ignore cr on the diff of JSON files.
          3. Javascript SDK updates
             a. Put the VS tool first in the PATH in the user profile.
             b. run the vector scripts with bash so that the environment variable(BLOCKCHAIN) will get processed.
             c. convert the import file pathToFileURL to URL format
mhthies added a commit to mhthies/smarthomeconnect that referenced this issue Nov 20, 2023
This reverts commit 4c2c1b9.

aiohttp is not Python 3.12 ready yet: aio-libs/aiohttp#7646
@capt-watson

This comment has been minimized.

@aio-libs aio-libs locked and limited conversation to collaborators Feb 24, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

7 participants