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

Upgrade to Python 3.10 #2354

Open
1 task done
aureq opened this issue Jan 3, 2025 · 0 comments
Open
1 task done

Upgrade to Python 3.10 #2354

aureq opened this issue Jan 3, 2025 · 0 comments

Comments

@aureq
Copy link

aureq commented Jan 3, 2025

Prerequisites

  • I have searched open and closed issues to make sure that the bug has not yet been reported.

Bug report

Describe the bug
According to https://endoflife.date/python, Python 3.10 is only receiving security updates. Python 3.13 is the currently supported version (3.12 ending in ~3 months). Reading #788, I understand there are specific dependencies that need to be looked after. Though, wondering if that upgrade is planned.

Additional context
While I understand this is self-hosted related, here are my partial docker build logs using Python 3.13 (which failed) in case this is helpful.
The last line mentions the package frozenlist being the potential problem.

#14 17.24 Retrieving Poetry metadata
#14 17.35 
#14 17.35 # Welcome to Poetry!
#14 17.35 
#14 17.35 This will download and install the latest version of Poetry,
#14 17.35 a dependency and package manager for Python.
#14 17.35 
#14 17.35 It will add the `poetry` command to Poetry's bin directory, located at:
#14 17.35 
#14 17.35 /root/.local/bin
#14 17.35 
#14 17.35 You can uninstall at any time by executing this script with the --uninstall option,
#14 17.35 and these changes will be reverted.
#14 17.35 
#14 17.35 Installing Poetry (1.8.5)
#14 17.35 Installing Poetry (1.8.5): Creating environment
#14 19.40 Installing Poetry (1.8.5): Installing Poetry
#14 29.17 Installing Poetry (1.8.5): Creating script
#14 29.17 Installing Poetry (1.8.5): Done
#14 29.17 
#14 29.17 Poetry (1.8.5) is installed now. Great!
#14 29.17 
#14 29.17 You can test that everything is set up by executing:
#14 29.17 
#14 29.17 `poetry --version`
#14 29.17 
#14 29.97 Skipping virtualenv creation, as specified in config file.
#14 30.06 Installing dependencies from lock file
#14 30.32 
#14 30.32 Package operations: 174 installs, 0 updates, 0 removals
#14 30.32 
#14 30.32   - Installing frozenlist (1.3.3)
#14 30.32   - Installing idna (2.10)
#14 30.32   - Installing multidict (4.7.6)
#14 30.32   - Installing six (1.15.0)
#14 32.32 
#14 32.32   ChefBuildError
#14 32.32 
#14 32.32   Backend subprocess exited when trying to invoke build_wheel
#14 32.32   
#14 32.32   *********************
#14 32.32   * Accelerated build *
#14 32.32   *********************
#14 32.32   running bdist_wheel
#14 32.32   running build
#14 32.32   running build_py
#14 32.32   creating build/lib.linux-x86_64-cpython-313/frozenlist
#14 32.32   copying frozenlist/__init__.py -> build/lib.linux-x86_64-cpython-313/frozenlist
#14 32.32   running egg_info
#14 32.32   writing frozenlist.egg-info/PKG-INFO
#14 32.32   writing dependency_links to frozenlist.egg-info/dependency_links.txt
#14 32.32   writing top-level names to frozenlist.egg-info/top_level.txt
#14 32.32   reading manifest file 'frozenlist.egg-info/SOURCES.txt'
#14 32.32   reading manifest template 'MANIFEST.in'
#14 32.32   warning: no previously-included files matching '*.pyc' found anywhere in distribution
#14 32.32   warning: no previously-included files matching '*.pyd' found anywhere in distribution
#14 32.32   warning: no previously-included files matching '*.so' found anywhere in distribution
#14 32.32   warning: no previously-included files matching '*.lib' found anywhere in distribution
#14 32.32   warning: no previously-included files matching '*.dll' found anywhere in distribution
#14 32.32   warning: no previously-included files matching '*.a' found anywhere in distribution
#14 32.32   warning: no previously-included files matching '*.obj' found anywhere in distribution
#14 32.32   warning: no previously-included files found matching 'frozenlist/*.html'
#14 32.32   no previously-included directories found matching 'docs/_build'
#14 32.32   adding license file 'LICENSE'
#14 32.32   writing manifest file 'frozenlist.egg-info/SOURCES.txt'
#14 32.32   copying frozenlist/__init__.pyi -> build/lib.linux-x86_64-cpython-313/frozenlist
#14 32.32   copying frozenlist/_frozenlist.pyx -> build/lib.linux-x86_64-cpython-313/frozenlist
#14 32.32   copying frozenlist/py.typed -> build/lib.linux-x86_64-cpython-313/frozenlist
#14 32.32   warning: build_py: byte-compiling is disabled, skipping.
#14 32.32   
#14 32.32   running build_ext
#14 32.32   building 'frozenlist._frozenlist' extension
#14 32.32   creating build/temp.linux-x86_64-cpython-313/frozenlist
#14 32.32   gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -I/tmp/tmphfofmigq/.venv/include -I/usr/local/include/python3.13 -c frozenlist/_frozenlist.c -o build/temp.linux-x86_64-cpython-313/frozenlist/_frozenlist.o
#14 32.32   frozenlist/_frozenlist.c:822:1: warning: ‘Py_UNICODE’ is deprecated [-Wdeprecated-declarations]
#14 32.32     822 | static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u) {
#14 32.32         | ^~~~~~
#14 32.32   frozenlist/_frozenlist.c: In function ‘__Pyx_Py_UNICODE_strlen’:
#14 32.32   frozenlist/_frozenlist.c:823:5: warning: ‘Py_UNICODE’ is deprecated [-Wdeprecated-declarations]
#14 32.32     823 |     const Py_UNICODE *u_end = u;
#14 32.32         |     ^~~~~
#14 32.32   frozenlist/_frozenlist.c: In function ‘__pyx_pf_10frozenlist_11_frozenlist_10FrozenList_46__reduce_cython__’:
#14 32.32   frozenlist/_frozenlist.c:4136:5: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
#14 32.32    4136 |     __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_pyx_unpickle_FrozenList); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13, __pyx_L1_error)
#14 32.32         |     ^~~~~~~~~~~~~~~~~~~~~~~~~
#14 32.32   In file included from /usr/local/include/python3.13/dictobject.h:101,
#14 32.32                    from /usr/local/include/python3.13/Python.h:90,
#14 32.32                    from frozenlist/_frozenlist.c:6:
#14 32.32   /usr/local/include/python3.13/cpython/dictobject.h:25:34: note: declared here
#14 32.32      25 |     Py_DEPRECATED(3.12) uint64_t ma_version_tag;
#14 32.32         |                                  ^~~~~~~~~~~~~~
#14 32.32   frozenlist/_frozenlist.c:4182:5: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
#14 32.32    4182 |     __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_pyx_unpickle_FrozenList); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 15, __pyx_L1_error)
#14 32.32         |     ^~~~~~~~~~~~~~~~~~~~~~~~~
#14 32.32   /usr/local/include/python3.13/cpython/dictobject.h:25:34: note: declared here
#14 32.32      25 |     Py_DEPRECATED(3.12) uint64_t ma_version_tag;
#14 32.32         |                                  ^~~~~~~~~~~~~~
#14 32.32   frozenlist/_frozenlist.c: In function ‘__pyx_tp_dealloc_10frozenlist_11_frozenlist_FrozenList’:
#14 32.32   frozenlist/_frozenlist.c:4718:104: warning: implicit declaration of function ‘_PyGC_FINALIZED’ [-Wimplicit-function-declaration]
#14 32.32    4718 |   if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
#14 32.32         |                                                                                                        ^~~~~~~~~~~~~~~
#14 32.32   frozenlist/_frozenlist.c: In function ‘__pyx_pymod_exec__frozenlist’:
#14 32.32   frozenlist/_frozenlist.c:5463:3: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
#14 32.32    5463 |   __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_sys); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8, __pyx_L1_error)
#14 32.32         |   ^~~~~~~~~~~~~~~~~~~~~~~~~
#14 32.32   /usr/local/include/python3.13/cpython/dictobject.h:25:34: note: declared here
#14 32.32      25 |     Py_DEPRECATED(3.12) uint64_t ma_version_tag;
#14 32.32         |                                  ^~~~~~~~~~~~~~
#14 32.32   frozenlist/_frozenlist.c:5481:5: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
#14 32.32    5481 |     __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_types); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9, __pyx_L1_error)
#14 32.32         |     ^~~~~~~~~~~~~~~~~~~~~~~~~
#14 32.32   /usr/local/include/python3.13/cpython/dictobject.h:25:34: note: declared here
#14 32.32      25 |     Py_DEPRECATED(3.12) uint64_t ma_version_tag;
#14 32.32         |                                  ^~~~~~~~~~~~~~
#14 32.32   frozenlist/_frozenlist.c:5535:3: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
#14 32.32    5535 |   __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_MutableSequence); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 123, __pyx_L1_error)
#14 32.32         |   ^~~~~~~~~~~~~~~~~~~~~~~~~
#14 32.32   /usr/local/include/python3.13/cpython/dictobject.h:25:34: note: declared here
#14 32.32      25 |     Py_DEPRECATED(3.12) uint64_t ma_version_tag;
#14 32.32         |                                  ^~~~~~~~~~~~~~
#14 32.32   frozenlist/_frozenlist.c: In function ‘__Pyx_Raise’:
#14 32.32   frozenlist/_frozenlist.c:5967:34: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘curexc_traceback’
#14 32.32    5967 |         PyObject* tmp_tb = tstate->curexc_traceback;
#14 32.32         |                                  ^~
#14 32.32   frozenlist/_frozenlist.c:5970:19: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘curexc_traceback’
#14 32.32    5970 |             tstate->curexc_traceback = tb;
#14 32.32         |                   ^~
#14 32.32   frozenlist/_frozenlist.c: In function ‘__Pyx_PyInt_EqObjC’:
#14 32.32   frozenlist/_frozenlist.c:6338:51: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’
#14 32.32    6338 |         const digit* digits = ((PyLongObject*)op1)->ob_digit;
#14 32.32         |                                                   ^~
#14 32.32   frozenlist/_frozenlist.c: In function ‘__Pyx_get_tp_dict_version’:
#14 32.32   frozenlist/_frozenlist.c:6623:5: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
#14 32.32    6623 |     return likely(dict) ? __PYX_GET_DICT_VERSION(dict) : 0;
#14 32.32         |     ^~~~~~
#14 32.32   /usr/local/include/python3.13/cpython/dictobject.h:25:34: note: declared here
#14 32.32      25 |     Py_DEPRECATED(3.12) uint64_t ma_version_tag;
#14 32.32         |                                  ^~~~~~~~~~~~~~
#14 32.32   frozenlist/_frozenlist.c: In function ‘__Pyx_get_object_dict_version’:
#14 32.32   frozenlist/_frozenlist.c:6635:5: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
#14 32.32    6635 |     return (dictptr && *dictptr) ? __PYX_GET_DICT_VERSION(*dictptr) : 0;
#14 32.32         |     ^~~~~~
#14 32.32   /usr/local/include/python3.13/cpython/dictobject.h:25:34: note: declared here
#14 32.32      25 |     Py_DEPRECATED(3.12) uint64_t ma_version_tag;
#14 32.32         |                                  ^~~~~~~~~~~~~~
#14 32.32   frozenlist/_frozenlist.c: In function ‘__Pyx_object_dict_version_matches’:
#14 32.32   frozenlist/_frozenlist.c:6639:5: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
#14 32.32    6639 |     if (unlikely(!dict) || unlikely(tp_dict_version != __PYX_GET_DICT_VERSION(dict)))
#14 32.32         |     ^~
#14 32.32   /usr/local/include/python3.13/cpython/dictobject.h:25:34: note: declared here
#14 32.32      25 |     Py_DEPRECATED(3.12) uint64_t ma_version_tag;
#14 32.32         |                                  ^~~~~~~~~~~~~~
#14 32.32   frozenlist/_frozenlist.c: In function ‘__Pyx__GetModuleGlobalName’:
#14 32.32   frozenlist/_frozenlist.c:6656:5: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
#14 32.32    6656 |     __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)
#14 32.32         |     ^~~~~~~~~~~~~~~~~~~~~~~
#14 32.32   /usr/local/include/python3.13/cpython/dictobject.h:25:34: note: declared here
#14 32.32      25 |     Py_DEPRECATED(3.12) uint64_t ma_version_tag;
#14 32.32         |                                  ^~~~~~~~~~~~~~
#14 32.32   frozenlist/_frozenlist.c: In function ‘__Pyx_CLineForTraceback’:
#14 32.32   frozenlist/_frozenlist.c:7047:9: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
#14 32.32    7047 |         __PYX_PY_DICT_LOOKUP_IF_MODIFIED(
#14 32.32         |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#14 32.32   /usr/local/include/python3.13/cpython/dictobject.h:25:34: note: declared here
#14 32.32      25 |     Py_DEPRECATED(3.12) uint64_t ma_version_tag;
#14 32.32         |                                  ^~~~~~~~~~~~~~
#14 32.32   frozenlist/_frozenlist.c:7047:9: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
#14 32.32    7047 |         __PYX_PY_DICT_LOOKUP_IF_MODIFIED(
#14 32.32         |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#14 32.32   /usr/local/include/python3.13/cpython/dictobject.h:25:34: note: declared here
#14 32.32      25 |     Py_DEPRECATED(3.12) uint64_t ma_version_tag;
#14 32.32         |                                  ^~~~~~~~~~~~~~
#14 32.32   frozenlist/_frozenlist.c: In function ‘__Pyx_PyInt_As_long’:
#14 32.32   frozenlist/_frozenlist.c:7348:53: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’
#14 32.32    7348 |             const digit* digits = ((PyLongObject*)x)->ob_digit;
#14 32.32         |                                                     ^~
#14 32.32   frozenlist/_frozenlist.c:7403:53: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’
#14 32.32    7403 |             const digit* digits = ((PyLongObject*)x)->ob_digit;
#14 32.32         |                                                     ^~
#14 32.32   frozenlist/_frozenlist.c:7489:27: error: too few arguments to function ‘_PyLong_AsByteArray’
#14 32.32    7489 |                 int ret = _PyLong_AsByteArray((PyLongObject *)v,
#14 32.32         |                           ^~~~~~~~~~~~~~~~~~~
#14 32.32   In file included from /usr/local/include/python3.13/longobject.h:107,
#14 32.32                    from /usr/local/include/python3.13/Python.h:81:
#14 32.32   /usr/local/include/python3.13/cpython/longobject.h:111:17: note: declared here
#14 32.32     111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
#14 32.32         |                 ^~~~~~~~~~~~~~~~~~~
#14 32.32   frozenlist/_frozenlist.c: In function ‘__Pyx_PyInt_As_int’:
#14 32.32   frozenlist/_frozenlist.c:7582:53: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’
#14 32.32    7582 |             const digit* digits = ((PyLongObject*)x)->ob_digit;
#14 32.32         |                                                     ^~
#14 32.32   frozenlist/_frozenlist.c:7637:53: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’
#14 32.32    7637 |             const digit* digits = ((PyLongObject*)x)->ob_digit;
#14 32.32         |                                                     ^~
#14 32.32   frozenlist/_frozenlist.c:7723:27: error: too few arguments to function ‘_PyLong_AsByteArray’
#14 32.32    7723 |                 int ret = _PyLong_AsByteArray((PyLongObject *)v,
#14 32.32         |                           ^~~~~~~~~~~~~~~~~~~
#14 32.32   /usr/local/include/python3.13/cpython/longobject.h:111:17: note: declared here
#14 32.32     111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
#14 32.32         |                 ^~~~~~~~~~~~~~~~~~~
#14 32.32   frozenlist/_frozenlist.c: In function ‘__Pyx_PyIndex_AsSsize_t’:
#14 32.32   frozenlist/_frozenlist.c:8088:45: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’
#14 32.32    8088 |     const digit* digits = ((PyLongObject*)b)->ob_digit;
#14 32.32         |                                             ^~
#14 32.32   error: command '/usr/bin/gcc' failed with exit code 1
#14 32.32   
#14 32.32 
#14 32.32   at ~/.local/share/pypoetry/venv/lib/python3.13/site-packages/poetry/installation/chef.py:164 in _prepare
#14 32.33       160│ 
#14 32.33       161│                 error = ChefBuildError("\n\n".join(message_parts))
#14 32.33       162│ 
#14 32.33       163│             if error is not None:
#14 32.33     → 164│                 raise error from None
#14 32.33       165│ 
#14 32.33       166│             return path
#14 32.33       167│ 
#14 32.33       168│     def _prepare_sdist(self, archive: Path, destination: Path | None = None) -> Path:
#14 32.33 
#14 32.33 Note: This error originates from the build backend, and is likely not a problem with poetry but with frozenlist (1.3.3) not supporting PEP 517 builds. You can verify this by running 'pip wheel --no-cache-dir --use-pep517 "frozenlist (==1.3.3)"'.
#14 32.33
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