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

Poetry install fails with Python 3.13 #113

Open
paulbenschmidt opened this issue Jan 9, 2025 · 0 comments
Open

Poetry install fails with Python 3.13 #113

paulbenschmidt opened this issue Jan 9, 2025 · 0 comments

Comments

@paulbenschmidt
Copy link

paulbenschmidt commented Jan 9, 2025

Installation using poetry with Python 3.13 fails due to aiohttp.

The latest release of target-stitch (v4.0.0) pegs aiohttp to 3.8.5, which causes build wheel failures on install when attempting to use Python 3.13/3.12:

- Installing aiohttp (3.8.5): Failed

  ChefBuildError

  Backend subprocess exited when trying to invoke build_wheel
  
  *********************
  * Accelerated build *
  *********************
  running bdist_wheel
  running build
  running build_py
  creating build/lib.macosx-15.0-arm64-cpython-313/aiohttp
...
...
...
  aiohttp/_websocket.c:2741:9: warning: 'ma_version_tag' is deprecated [-Wdeprecated-declarations]
          __PYX_PY_DICT_LOOKUP_IF_MODIFIED(
          ^
  aiohttp/_websocket.c:1129:30: note: expanded from macro '__PYX_PY_DICT_LOOKUP_IF_MODIFIED'
          __pyx_dict_version = __PYX_GET_DICT_VERSION(DICT);\
                               ^
  aiohttp/_websocket.c:1118:65: note: expanded from macro '__PYX_GET_DICT_VERSION'
  #define __PYX_GET_DICT_VERSION(dict)  (((PyDictObject*)(dict))->ma_version_tag)
                                                                  ^
  /Users/paulschmidt/.pyenv/versions/3.13.1/include/python3.13/cpython/dictobject.h:25:5: note: 'ma_version_tag' has been explicitly marked deprecated here
      Py_DEPRECATED(3.12) uint64_t ma_version_tag;
      ^
  /Users/paulschmidt/.pyenv/versions/3.13.1/include/python3.13/pyport.h:251:54: note: expanded from macro 'Py_DEPRECATED'
  #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                       ^
  aiohttp/_websocket.c:3042:55: error: no member named 'ob_digit' in 'struct _longobject'
              const digit* digits = ((PyLongObject*)x)->ob_digit;
                                    ~~~~~~~~~~~~~~~~~~  ^
  aiohttp/_websocket.c:3097:55: error: no member named 'ob_digit' in 'struct _longobject'
              const digit* digits = ((PyLongObject*)x)->ob_digit;
                                    ~~~~~~~~~~~~~~~~~~  ^
  aiohttp/_websocket.c:3185:70: error: too few arguments to function call, expected 6, have 5
                                                is_little, !is_unsigned);
                                                                       ^
  /Users/paulschmidt/.pyenv/versions/3.13.1/include/python3.13/cpython/longobject.h:111:17: note: '_PyLong_AsByteArray' declared here
  PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
                  ^
  aiohttp/_websocket.c:3238:55: error: no member named 'ob_digit' in 'struct _longobject'
              const digit* digits = ((PyLongObject*)x)->ob_digit;
                                    ~~~~~~~~~~~~~~~~~~  ^
  aiohttp/_websocket.c:3293:55: error: no member named 'ob_digit' in 'struct _longobject'
              const digit* digits = ((PyLongObject*)x)->ob_digit;
                                    ~~~~~~~~~~~~~~~~~~  ^
  aiohttp/_websocket.c:3381:70: error: too few arguments to function call, expected 6, have 5
                                                is_little, !is_unsigned);
                                                                       ^
  /Users/paulschmidt/.pyenv/versions/3.13.1/include/python3.13/cpython/longobject.h:111:17: note: '_PyLong_AsByteArray' declared here
  PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
                  ^
  aiohttp/_websocket.c:3744:47: error: no member named 'ob_digit' in 'struct _longobject'
      const digit* digits = ((PyLongObject*)b)->ob_digit;
                            ~~~~~~~~~~~~~~~~~~  ^
  8 warnings and 7 errors generated.
  error: command '/usr/bin/clang' failed with exit code 1
  

  at ~/Library/Application Support/pypoetry/venv/lib/python3.8/site-packages/poetry/installation/chef.py:164 in _prepare
      160│ 
      161│                 error = ChefBuildError("\n\n".join(message_parts))
      162│ 
      163│             if error is not None:
    → 164│                 raise error from None
      165│ 
      166│             return path
      167│ 
      168│     def _prepare_sdist(self, archive: Path, destination: Path | None = None) -> Path:

Note: This error originates from the build backend, and is likely not a problem with poetry but with aiohttp (3.8.5) not supporting PEP 517 builds. You can verify this by running 'pip wheel --no-cache-dir --use-pep517 "aiohttp (==3.8.5)"'.

aiohttp is currently on release 3.11.11.

Would someone be able to help update target-stitch to be compatible with Python 3.13?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant