Bug 2233757 - Encourage upstreams to release Python 3.12 manylinux wheels before Fedora 39 final release
Summary: Encourage upstreams to release Python 3.12 manylinux wheels before Fedora 39 ...
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: python3.12
Version: 39
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Tomáš Hrnčiar
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks: PYTHON3.12
TreeView+ depends on / blocked
 
Reported: 2023-08-23 09:49 UTC by Tomáš Hrnčiar
Modified: 2023-10-02 17:01 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2023-10-02 08:49:13 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Tomáš Hrnčiar 2023-08-23 09:49:55 UTC
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.

Comment 1 Miro Hrončok 2023-08-29 09:42:04 UTC
[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.

Comment 2 Miro Hrončok 2023-08-29 09:45:03 UTC
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

Comment 3 Elliott Sales de Andrade 2023-09-12 04:34:44 UTC
Matplotlib wheels are available, though you won't have an easy time until NumPy and contourpy are done.

Comment 4 Tomáš Hrnčiar 2023-09-20 11:48:37 UTC
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

Comment 5 Tomáš Hrnčiar 2023-09-20 13:21:48 UTC
~ 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

Comment 6 Tomáš Hrnčiar 2023-09-20 13:23:01 UTC
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.

Comment 7 Victor Stinner 2023-09-20 16:08:55 UTC
> NumPy - done
> Pillow - done
> matplotlib - done

That's great!

Comment 8 Tomáš Hrnčiar 2023-09-26 08:30:50 UTC
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

Comment 9 Miro Hrončok 2023-10-02 08:49:13 UTC
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

Comment 10 Victor Stinner 2023-10-02 17:01:47 UTC
> 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!


Note You need to log in before you can comment on or make changes to this bug.