This is a tracking bugzilla inspired by bz2118949, bz1875767 and bz1989081. Python 3.12.0rc1 was released and the ABI is frozen and cannot change even for bug fixes. We should encourage upstreams to release manylinux wheels as soon as the first rc is out. users of Fedora 39 will likely use Python 3.12 and when they `pip install numpy` etc., it should work flawlessly -- we should encourage upstreams to have the manylinux wheels ready, so pip does not attempt to compile stuff which is slow and often breaks for missing development dependencies. Ideally, we want the wheels to be ready before the final release, but if we don't make it, we still want them to be released ASAP. Here is the list of packages we used the last time: --------- NumPy - available in 1.26.0b1 For matplotlib: Pillow - done kiwisolver - https://github.com/nucleic/kiwi/issues/167 matplotlib - https://github.com/matplotlib/matplotlib/issues/26557 For Jupyter Notebook: pyzmq - done MarkupSafe - https://github.com/pallets/markupsafe/issues/392 cffi - https://foss.heptapod.net/pypy/cffi/-/issues/571 tornado - https://github.com/tornadoweb/tornado/issues/3318 Others: pandas - https://github.com/pandas-dev/pandas/issues/54447 scipy - done --------- Note that cython has universal wheel available, so I've moved it from the list. Verification: $ python3.12 -m venv __venv__ $ . __venv__/bin/activate (__venv__) $ pip install numpy matplotlib notebook pandas scipy No packages (with extension modules) should be compiled locally, they should be installed from wheels.
[root@e0a46c4dc123 /]# python3.12 -m venv __venv__ [root@e0a46c4dc123 /]# . __venv__/bin/activate (__venv__) [root@e0a46c4dc123 /]# pip list Package Version ------- ------- pip 23.2.1 (__venv__) [root@e0a46c4dc123 /]# pip install numpy Collecting numpy Downloading numpy-1.25.2.tar.gz (10.8 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 10.8/10.8 MB 10.3 MB/s eta 0:00:00 Installing build dependencies ... done Getting requirements to build wheel ... done ERROR: Exception: Traceback (most recent call last): ... File "/tmp/pip-build-env-1obiytit/overlay/lib/python3.12/site-packages/setuptools/__init__.py", line 10, in <module> import distutils.core ModuleNotFoundError: No module named 'distutils' ... (__venv__) [root@e0a46c4dc123 /]# pip install matplotlib Collecting matplotlib Downloading matplotlib-3.7.2.tar.gz (38.1 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 38.1/38.1 MB 10.7 MB/s eta 0:00:00 Installing build dependencies ... error error: subprocess-exited-with-error × pip subprocess to install build dependencies did not run successfully. │ exit code: 2 ╰─> [120 lines of output] Collecting certifi>=2020.06.20 Obtaining dependency information for certifi>=2020.06.20 from https://files.pythonhosted.org/packages/4c/dd/2234eab22353ffc7d94e8d13177aaa050113286e93e7b40eae01fbf7c3d9/certifi-2023.7.22-py3-none-any.whl.metadata Downloading certifi-2023.7.22-py3-none-any.whl.metadata (2.2 kB) Collecting oldest-supported-numpy Obtaining dependency information for oldest-supported-numpy from https://files.pythonhosted.org/packages/94/9a/756fef9346e5ca2289cb70d73990b4c9f25446a885c1186cfb93a85e7da0/oldest_supported_numpy-2023.8.3-py3-none-any.whl.metadata Downloading oldest_supported_numpy-2023.8.3-py3-none-any.whl.metadata (9.5 kB) Collecting pybind11>=2.6 Obtaining dependency information for pybind11>=2.6 from https://files.pythonhosted.org/packages/06/55/9f73c32dda93fa4f539fafa268f9504e83c489f460c380371d94296126cd/pybind11-2.11.1-py3-none-any.whl.metadata Downloading pybind11-2.11.1-py3-none-any.whl.metadata (9.5 kB) Collecting setuptools>=42 Obtaining dependency information for setuptools>=42 from https://files.pythonhosted.org/packages/4f/ab/0bcfebdfc3bfa8554b2b2c97a555569c4c1ebc74ea288741ea8326c51906/setuptools-68.1.2-py3-none-any.whl.metadata Downloading setuptools-68.1.2-py3-none-any.whl.metadata (6.2 kB) Collecting setuptools_scm>=7 Downloading setuptools_scm-7.1.0-py3-none-any.whl (43 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 43.8/43.8 kB 2.7 MB/s eta 0:00:00 Collecting numpy (from oldest-supported-numpy) Using cached numpy-1.25.2.tar.gz (10.8 MB) Installing build dependencies: started Installing build dependencies: finished with status 'done' Getting requirements to build wheel: started Getting requirements to build wheel: finished with status 'done' ERROR: Exception: Traceback (most recent call last): ... File "/tmp/pip-build-env-26btkr6j/overlay/lib/python3.12/site-packages/setuptools/__init__.py", line 10, in <module> import distutils.core ModuleNotFoundError: No module named 'distutils' [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. error: subprocess-exited-with-error × pip subprocess to install build dependencies did not run successfully. │ exit code: 2 ╰─> See above for output. note: This error originates from a subprocess, and is likely not a problem with pip. (__venv__) [root@e0a46c4dc123 /]# pip install pandas -> same numpy error (__venv__) [root@e0a46c4dc123 /]# pip install scipy -> same numpy error ... (__venv__) [root@e0a46c4dc123 /]# pip install notebook ... × Building wheel for cffi (pyproject.toml) did not run successfully. │ exit code: 1 ╰─> [59 lines of output] No working compiler found... =========== The first blocking projects are numpy and cffi.
kiwisolver done -- kiwisolver-1.4.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl MarkupSafe not needed (has pure Python wheel) -- MarkupSafe-2.1.3-py3-none-any.whl tornado not needed (universal ABI) -- tornado-6.3.3-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Matplotlib wheels are available, though you won't have an easy time until NumPy and contourpy are done.
NumPy - done For matplotlib: Pillow - done kiwisolver - done contourpy - done matplotlib - done For Jupyter Notebook: pyzmq - done MarkupSafe - done cffi - https://foss.heptapod.net/pypy/cffi/-/issues/571 tornado - done Others: pandas - https://github.com/pandas-dev/pandas/issues/54447 scipy - done
~ via 🐍 v3.11.4 ❯ python3.12 -m venv venv ~ via 🐍 v3.11.4 ❯ . venv/bin/activate ~ via 🐍 v3.12.0rc1 (venv) ❯ pip list Package Version ------- ------- pip 23.2.1 ~ via 🐍 v3.12.0rc1 (venv) ❯ pip install numpy Collecting numpy Obtaining dependency information for numpy from https://files.pythonhosted.org/packages/e3/e2/4ecfbc4a2e3f9d227b008c92a5d1f0370190a639b24fec3b226841eaaf19/numpy-1.26.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata Downloading numpy-1.26.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (58 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 58.5/58.5 kB 3.3 MB/s eta 0:00:00 Downloading numpy-1.26.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (17.9 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 17.9/17.9 MB 31.1 MB/s eta 0:00:00 Installing collected packages: numpy Successfully installed numpy-1.26.0 ❯ pip install contourpy Collecting contourpy Obtaining dependency information for contourpy from https://files.pythonhosted.org/packages/a7/47/4e7e66159f881c131e3b97d1cc5c0ea72be62bdd292c7f63fd13937d07f4/contourpy-1.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata Downloading contourpy-1.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (5.9 kB) Requirement already satisfied: numpy<2.0,>=1.26.0rc1 in ./venv/lib64/python3.12/site-packages (from contourpy) (1.26.0) Downloading contourpy-1.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (298 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 298.8/298.8 kB 3.2 MB/s eta 0:00:00 Installing collected packages: contourpy Successfully installed contourpy-1.1.1 ~ via 🐍 v3.12.0rc1 (venv) ❯ pip install matplotlib Collecting matplotlib Obtaining dependency information for matplotlib from https://files.pythonhosted.org/packages/77/cd/1464efc9fe354026b8d2fb4ebb2f1746559b0e38308104d3ee60a5a05c71/matplotlib-3.8.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata Downloading matplotlib-3.8.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (5.8 kB) Requirement already satisfied: contourpy>=1.0.1 in ./venv/lib64/python3.12/site-packages (from matplotlib) (1.1.1) Collecting cycler>=0.10 (from matplotlib) Using cached cycler-0.11.0-py3-none-any.whl (6.4 kB) Collecting fonttools>=4.22.0 (from matplotlib) Obtaining dependency information for fonttools>=4.22.0 from https://files.pythonhosted.org/packages/b9/97/8fb94ba61f1a098671639f60cda3d7e3e2bf3a5ccc4fca00fcb909f0882e/fonttools-4.42.1-py3-none-any.whl.metadata Downloading fonttools-4.42.1-py3-none-any.whl.metadata (150 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 151.0/151.0 kB 5.8 MB/s eta 0:00:00 Collecting kiwisolver>=1.0.1 (from matplotlib) Obtaining dependency information for kiwisolver>=1.0.1 from https://files.pythonhosted.org/packages/e3/d5/bc0f22ac108743062ab703f8d6d71c9c7b077b8839fa358700bfb81770b8/kiwisolver-1.4.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata Downloading kiwisolver-1.4.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.4 kB) Requirement already satisfied: numpy<2,>=1.21 in ./venv/lib64/python3.12/site-packages (from matplotlib) (1.26.0) Collecting packaging>=20.0 (from matplotlib) Using cached packaging-23.1-py3-none-any.whl (48 kB) Collecting pillow>=6.2.0 (from matplotlib) Obtaining dependency information for pillow>=6.2.0 from https://files.pythonhosted.org/packages/0c/ce/3cceae2fab54118a5fcdfd9a2ddd0167c21169446c05378c5dc10b0d5093/Pillow-10.0.1-cp312-cp312-manylinux_2_28_x86_64.whl.metadata Downloading Pillow-10.0.1-cp312-cp312-manylinux_2_28_x86_64.whl.metadata (9.5 kB) Collecting pyparsing>=2.3.1 (from matplotlib) Obtaining dependency information for pyparsing>=2.3.1 from https://files.pythonhosted.org/packages/39/92/8486ede85fcc088f1b3dba4ce92dd29d126fd96b0008ea213167940a2475/pyparsing-3.1.1-py3-none-any.whl.metadata Downloading pyparsing-3.1.1-py3-none-any.whl.metadata (5.1 kB) Collecting python-dateutil>=2.7 (from matplotlib) Using cached python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB) Collecting six>=1.5 (from python-dateutil>=2.7->matplotlib) Using cached six-1.16.0-py2.py3-none-any.whl (11 kB) Downloading matplotlib-3.8.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.6 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 11.6/11.6 MB 37.6 MB/s eta 0:00:00 Downloading fonttools-4.42.1-py3-none-any.whl (1.0 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.0/1.0 MB 39.7 MB/s eta 0:00:00 Downloading kiwisolver-1.4.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.5/1.5 MB 32.9 MB/s eta 0:00:00 Downloading Pillow-10.0.1-cp312-cp312-manylinux_2_28_x86_64.whl (3.6 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.6/3.6 MB 36.9 MB/s eta 0:00:00 Downloading pyparsing-3.1.1-py3-none-any.whl (103 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 103.1/103.1 kB 27.2 MB/s eta 0:00:00 Installing collected packages: six, pyparsing, pillow, packaging, kiwisolver, fonttools, cycler, python-dateutil, matplotlib Successfully installed cycler-0.11.0 fonttools-4.42.1 kiwisolver-1.4.5 matplotlib-3.8.0 packaging-23.1 pillow-10.0.1 pyparsing-3.1.1 python-dateutil-2.8.2 six-1.16.0 ~ via 🐍 v3.12.0rc1 (venv) took 5s ❯ pip install scipy Collecting scipy Obtaining dependency information for scipy from https://files.pythonhosted.org/packages/c2/de/efd780a29d6e600f83164837811cbae7cd21a0c3a296080486728313dbbe/scipy-1.11.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata Downloading scipy-1.11.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (59 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 59.1/59.1 kB 4.9 MB/s eta 0:00:00 Requirement already satisfied: numpy<1.28.0,>=1.21.6 in ./venv/lib64/python3.12/site-packages (from scipy) (1.26.0) Downloading scipy-1.11.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (35.6 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 35.6/35.6 MB 9.9 MB/s eta 0:00:00 Installing collected packages: scipy Successfully installed scipy-1.11.2
TODO: ~ via 🐍 v3.12.0rc1 (venv) took 6s ❯ pip install cffi Collecting cffi Using cached cffi-1.15.1.tar.gz (508 kB) Installing build dependencies ... done Getting requirements to build wheel ... done Preparing metadata (pyproject.toml) ... done Collecting pycparser (from cffi) Using cached pycparser-2.21-py2.py3-none-any.whl (118 kB) Building wheels for collected packages: cffi Building wheel for cffi (pyproject.toml) ... error error: subprocess-exited-with-error × Building wheel for cffi (pyproject.toml) did not run successfully. │ exit code: 1 ╰─> [50 lines of output] /tmp/pip-build-env-1xsig2xc/overlay/lib/python3.12/site-packages/setuptools/config/setupcfg.py:293: _DeprecatedConfig: Deprecated config in `setup.cfg` !! ******************************************************************************** The license_file parameter is deprecated, use license_files instead. By 2023-Oct-30, you need to update your project and remove deprecated calls or your builds will no longer be supported. See https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for details. ******************************************************************************** !! parsed = self.parsers.get(option_name, lambda x: x)(value) 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/cffi copying cffi/verifier.py -> build/lib.linux-x86_64-cpython-312/cffi copying cffi/vengine_gen.py -> build/lib.linux-x86_64-cpython-312/cffi copying cffi/vengine_cpy.py -> build/lib.linux-x86_64-cpython-312/cffi copying cffi/setuptools_ext.py -> build/lib.linux-x86_64-cpython-312/cffi copying cffi/recompiler.py -> build/lib.linux-x86_64-cpython-312/cffi copying cffi/pkgconfig.py -> build/lib.linux-x86_64-cpython-312/cffi copying cffi/model.py -> build/lib.linux-x86_64-cpython-312/cffi copying cffi/lock.py -> build/lib.linux-x86_64-cpython-312/cffi copying cffi/ffiplatform.py -> build/lib.linux-x86_64-cpython-312/cffi copying cffi/error.py -> build/lib.linux-x86_64-cpython-312/cffi copying cffi/cparser.py -> build/lib.linux-x86_64-cpython-312/cffi copying cffi/commontypes.py -> build/lib.linux-x86_64-cpython-312/cffi copying cffi/cffi_opcode.py -> build/lib.linux-x86_64-cpython-312/cffi copying cffi/backend_ctypes.py -> build/lib.linux-x86_64-cpython-312/cffi copying cffi/api.py -> build/lib.linux-x86_64-cpython-312/cffi copying cffi/__init__.py -> build/lib.linux-x86_64-cpython-312/cffi copying cffi/_cffi_include.h -> build/lib.linux-x86_64-cpython-312/cffi copying cffi/parse_c_type.h -> build/lib.linux-x86_64-cpython-312/cffi copying cffi/_embedding.h -> build/lib.linux-x86_64-cpython-312/cffi copying cffi/_cffi_errors.h -> build/lib.linux-x86_64-cpython-312/cffi running build_ext building '_cffi_backend' extension creating build/temp.linux-x86_64-cpython-312 creating build/temp.linux-x86_64-cpython-312/c gcc -fno-strict-overflow -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fPIC -DFFI_BUILDING=1 -DUSE__THREAD -DHAVE_SYNC_SYNCHRONIZE -I/home/thrnciar/venv/include -I/usr/include/python3.12 -c c/_cffi_backend.c -o build/temp.linux-x86_64-cpython-312/c/_cffi_backend.o c/_cffi_backend.c:2:10: fatal error: Python.h: No such file or directory 2 | #include <Python.h> | ^~~~~~~~~~ compilation terminated. 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 cffi Failed to build cffi ERROR: Could not build wheels for cffi, which is required to install pyproject.toml-based projects ~ via 🐍 v3.12.0rc1 (venv) took 3s ❯ pip install pandas Collecting pandas Downloading pandas-2.1.0.tar.gz (4.3 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.3/4.3 MB 26.6 MB/s eta 0:00:00 Installing build dependencies ... done Getting requirements to build wheel ... done Installing backend dependencies ... done Preparing metadata (pyproject.toml) ... error error: subprocess-exited-with-error × Preparing metadata (pyproject.toml) did not run successfully. │ exit code: 1 ╰─> [56 lines of output] + meson setup /tmp/pip-install-7tmuzmoz/pandas_b672d9304cae43bf8348484cd02b68fb /tmp/pip-install-7tmuzmoz/pandas_b672d9304cae43bf8348484cd02b68fb/.mesonpy-l6swx7bz/build -Dbuildtype=release -Db_ndebug=if-release -Db_vscrt=md --vsenv --native-file=/tmp/pip-install-7tmuzmoz/pandas_b672d9304cae43bf8348484cd02b68fb/.mesonpy-l6swx7bz/build/meson-python-native-file.ini The Meson build system Version: 1.0.1 Source dir: /tmp/pip-install-7tmuzmoz/pandas_b672d9304cae43bf8348484cd02b68fb Build dir: /tmp/pip-install-7tmuzmoz/pandas_b672d9304cae43bf8348484cd02b68fb/.mesonpy-l6swx7bz/build Build type: native build Project name: pandas Project version: 2.1.0 C compiler for the host machine: cc (gcc 12.3.1 "cc (GCC) 12.3.1 20230508 (Red Hat 12.3.1-1)") C linker for the host machine: cc ld.bfd 2.38-27 C++ compiler for the host machine: c++ (gcc 12.3.1 "c++ (GCC) 12.3.1 20230508 (Red Hat 12.3.1-1)") C++ linker for the host machine: c++ ld.bfd 2.38-27 Cython compiler for the host machine: cython (cython 0.29.36) Host machine cpu family: x86_64 Host machine cpu: x86_64 Program python found: YES (/home/thrnciar/venv/bin/python3.12) Found pkg-config: /usr/bin/pkg-config (1.8.0) Build targets in project: 53 pandas 2.1.0 User defined options Native files: /tmp/pip-install-7tmuzmoz/pandas_b672d9304cae43bf8348484cd02b68fb/.mesonpy-l6swx7bz/build/meson-python-native-file.ini buildtype : release b_ndebug : if-release b_vscrt : md Found ninja-1.10.2 at /usr/bin/ninja + /usr/bin/ninja [1/151] Generating pandas/_libs/khash_primitive_helper_pxi with a custom command [2/151] Generating pandas/_libs/algos_take_helper_pxi with a custom command [3/151] Generating pandas/_libs/hashtable_func_helper_pxi with a custom command [4/151] Generating pandas/_libs/intervaltree_helper_pxi with a custom command [5/151] Generating pandas/__init__.py with a custom command [6/151] Generating pandas/_libs/algos_common_helper_pxi with a custom command [7/151] Generating pandas/_libs/hashtable_class_helper_pxi with a custom command [8/151] Generating pandas/_libs/index_class_helper_pxi with a custom command [9/151] Generating pandas/_libs/sparse_op_helper_pxi with a custom command [10/151] Compiling C object pandas/_libs/tslibs/parsing.cpython-312-x86_64-linux-gnu.so.p/.._src_parser_tokenizer.c.o FAILED: pandas/_libs/tslibs/parsing.cpython-312-x86_64-linux-gnu.so.p/.._src_parser_tokenizer.c.o cc -Ipandas/_libs/tslibs/parsing.cpython-312-x86_64-linux-gnu.so.p -Ipandas/_libs/tslibs -I../../pandas/_libs/tslibs -I../../../../pip-build-env-puzce9ws/overlay/lib64/python3.12/site-packages/numpy/core/include -I../../pandas/_libs/include -I/usr/include/python3.12 -fvisibility=hidden -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c99 -O3 -DNPY_NO_DEPRECATED_API=0 -DNPY_TARGET_VERSION=NPY_1_21_API_VERSION -fPIC -MD -MQ pandas/_libs/tslibs/parsing.cpython-312-x86_64-linux-gnu.so.p/.._src_parser_tokenizer.c.o -MF pandas/_libs/tslibs/parsing.cpython-312-x86_64-linux-gnu.so.p/.._src_parser_tokenizer.c.o.d -o pandas/_libs/tslibs/parsing.cpython-312-x86_64-linux-gnu.so.p/.._src_parser_tokenizer.c.o -c ../../pandas/_libs/src/parser/tokenizer.c In file included from ../../pandas/_libs/src/parser/tokenizer.c:20: ../../pandas/_libs/include/pandas/parser/tokenizer.h:15:10: fatal error: Python.h: No such file or directory 15 | #include <Python.h> | ^~~~~~~~~~ compilation terminated. [11/151] Compiling Cython source /tmp/pip-install-7tmuzmoz/pandas_b672d9304cae43bf8348484cd02b68fb/pandas/_libs/tslibs/base.pyx [12/151] Compiling Cython source /tmp/pip-install-7tmuzmoz/pandas_b672d9304cae43bf8348484cd02b68fb/pandas/_libs/tslibs/ccalendar.pyx [13/151] Compiling Cython source /tmp/pip-install-7tmuzmoz/pandas_b672d9304cae43bf8348484cd02b68fb/pandas/_libs/tslibs/np_datetime.pyx [14/151] Compiling Cython source /tmp/pip-install-7tmuzmoz/pandas_b672d9304cae43bf8348484cd02b68fb/pandas/_libs/tslibs/dtypes.pyx [15/151] Compiling Cython source /tmp/pip-install-7tmuzmoz/pandas_b672d9304cae43bf8348484cd02b68fb/pandas/_libs/tslibs/nattype.pyx [16/151] Compiling Cython source /tmp/pip-install-7tmuzmoz/pandas_b672d9304cae43bf8348484cd02b68fb/pandas/_libs/tslibs/conversion.pyx [17/151] Compiling Cython source /tmp/pip-install-7tmuzmoz/pandas_b672d9304cae43bf8348484cd02b68fb/pandas/_libs/tslibs/fields.pyx [18/151] Compiling Cython source /tmp/pip-install-7tmuzmoz/pandas_b672d9304cae43bf8348484cd02b68fb/pandas/_libs/tslibs/parsing.pyx [19/151] Compiling Cython source /tmp/pip-install-7tmuzmoz/pandas_b672d9304cae43bf8348484cd02b68fb/pandas/_libs/tslibs/offsets.pyx ninja: build stopped: subcommand failed. [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. error: metadata-generation-failed × Encountered error while generating package metadata. ╰─> See above for output. note: This is an issue with the package mentioned above, not pip. hint: See above for details.
> NumPy - done > Pillow - done > matplotlib - done That's great!
And pandas wheels are available, cffi is the last one remaining. ❯ pip install pandas Collecting pandas Obtaining dependency information for pandas from https://files.pythonhosted.org/packages/41/db/fc107df31c06976764e753074cc71cbe1c7062481f668746f8d498cafcb6/pandas-2.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata Downloading pandas-2.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (18 kB) Requirement already satisfied: numpy>=1.26.0 in ./venv/lib64/python3.12/site-packages (from pandas) (1.26.0) Requirement already satisfied: python-dateutil>=2.8.2 in ./venv/lib64/python3.12/site-packages (from pandas) (2.8.2) Collecting pytz>=2020.1 (from pandas) Obtaining dependency information for pytz>=2020.1 from https://files.pythonhosted.org/packages/32/4d/aaf7eff5deb402fd9a24a1449a8119f00d74ae9c2efa79f8ef9994261fc2/pytz-2023.3.post1-py2.py3-none-any.whl.metadata Downloading pytz-2023.3.post1-py2.py3-none-any.whl.metadata (22 kB) Collecting tzdata>=2022.1 (from pandas) Downloading tzdata-2023.3-py2.py3-none-any.whl (341 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 341.8/341.8 kB 10.7 MB/s eta 0:00:00 Requirement already satisfied: six>=1.5 in ./venv/lib64/python3.12/site-packages (from python-dateutil>=2.8.2->pandas) (1.16.0) Downloading pandas-2.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.7 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 11.7/11.7 MB 34.5 MB/s eta 0:00:00 Downloading pytz-2023.3.post1-py2.py3-none-any.whl (502 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 502.5/502.5 kB 43.4 MB/s eta 0:00:00 Installing collected packages: pytz, tzdata, pandas Successfully installed pandas-2.1.1 pytz-2023.3.post1 tzdata-2023.3
cffi 1.16.0 is out with Python 3.12 manylinux wheels. (__venv__) [root@78db78a2820e /]# pip install numpy matplotlib notebook pandas scipy ... Installing collected packages: webencodings, wcwidth, types-python-dateutil, pytz, pure-eval, ptyprocess, pickleshare, json5, fastjsonschema, executing, backcall, websocket-client, webcolors, urllib3, uri-template, tzdata, traitlets, tornado, tinycss2, soupsieve, sniffio, six, send2trash, rpds-py, rfc3986-validator, pyzmq, pyyaml, python-json-logger, pyparsing, pygments, pycparser, psutil, prompt-toolkit, prometheus-client, platformdirs, pillow, pexpect, parso, pandocfilters, packaging, overrides, numpy, nest-asyncio, mistune, MarkupSafe, kiwisolver, jupyterlab-pygments, jsonpointer, idna, fqdn, fonttools, defusedxml, decorator, debugpy, cycler, charset-normalizer, certifi, babel, attrs, async-lru, terminado, scipy, rfc3339-validator, requests, referencing, python-dateutil, matplotlib-inline, jupyter-core, jinja2, jedi, contourpy, comm, cffi, bleach, beautifulsoup4, asttokens, anyio, stack-data, pandas, matplotlib, jupyter-server-terminals, jupyter-client, jsonschema-specifications, arrow, argon2-cffi-bindings, jsonschema, isoduration, ipython, argon2-cffi, nbformat, ipykernel, nbclient, jupyter-events, nbconvert, jupyter-server, notebook-shim, jupyterlab-server, jupyter-lsp, jupyterlab, notebook Successfully installed MarkupSafe-2.1.3 anyio-4.0.0 argon2-cffi-23.1.0 argon2-cffi-bindings-21.2.0 arrow-1.3.0 asttokens-2.4.0 async-lru-2.0.4 attrs-23.1.0 babel-2.12.1 backcall-0.2.0 beautifulsoup4-4.12.2 bleach-6.0.0 certifi-2023.7.22 cffi-1.16.0 charset-normalizer-3.3.0 comm-0.1.4 contourpy-1.1.1 cycler-0.12.0 debugpy-1.8.0 decorator-5.1.1 defusedxml-0.7.1 executing-2.0.0 fastjsonschema-2.18.1 fonttools-4.43.0 fqdn-1.5.1 idna-3.4 ipykernel-6.25.2 ipython-8.16.1 isoduration-20.11.0 jedi-0.19.0 jinja2-3.1.2 json5-0.9.14 jsonpointer-2.4 jsonschema-4.19.1 jsonschema-specifications-2023.7.1 jupyter-client-8.3.1 jupyter-core-5.3.2 jupyter-events-0.7.0 jupyter-lsp-2.2.0 jupyter-server-2.7.3 jupyter-server-terminals-0.4.4 jupyterlab-4.0.6 jupyterlab-pygments-0.2.2 jupyterlab-server-2.25.0 kiwisolver-1.4.5 matplotlib-3.8.0 matplotlib-inline-0.1.6 mistune-3.0.2 nbclient-0.8.0 nbconvert-7.8.0 nbformat-5.9.2 nest-asyncio-1.5.8 notebook-7.0.4 notebook-shim-0.2.3 numpy-1.26.0 overrides-7.4.0 packaging-23.2 pandas-2.1.1 pandocfilters-1.5.0 parso-0.8.3 pexpect-4.8.0 pickleshare-0.7.5 pillow-10.0.1 platformdirs-3.10.0 prometheus-client-0.17.1 prompt-toolkit-3.0.39 psutil-5.9.5 ptyprocess-0.7.0 pure-eval-0.2.2 pycparser-2.21 pygments-2.16.1 pyparsing-3.1.1 python-dateutil-2.8.2 python-json-logger-2.0.7 pytz-2023.3.post1 pyyaml-6.0.1 pyzmq-25.1.1 referencing-0.30.2 requests-2.31.0 rfc3339-validator-0.1.4 rfc3986-validator-0.1.1 rpds-py-0.10.3 scipy-1.11.3 send2trash-1.8.2 six-1.16.0 sniffio-1.3.0 soupsieve-2.5 stack-data-0.6.3 terminado-0.17.1 tinycss2-1.2.1 tornado-6.3.3 traitlets-5.10.1 types-python-dateutil-2.8.19.14 tzdata-2023.3 uri-template-1.3.0 urllib3-2.0.5 wcwidth-0.2.8 webcolors-1.13 webencodings-0.5.1 websocket-client-1.6.3
> Status: ASSIGNED → CLOSED Congrats! It's great to all these projects are Python 3.12-ready at day 1 of Python 3.12 release! We made huge projects since previous Python versions!