Pandas version checks

  • [x] I have checked that this issue has not already been reported.

  • [x] I have confirmed this bug exists on the latest version of pandas.

  • [x] I have confirmed this bug exists on the main branch of pandas.

Reproducible Example

Build Fails on Raspberry Pi 3 running Raspberry Pi OS based on Debian Trixie (13) on ARMHF (32 Bit Mode).

Issue Description

Everything was working fine on Debian Boorworm (12) ARMHF on a Raspberry Pi 3.

When I decided to upgrade today to Debian Trixie (13) ARMHF, I had to create a new venv since Python changed from Version 3.11 to 3.13.

Unfortunately, I couldn't build pandas at all 😞.

And, despite the Claims in the Error Message, there is no Log File at all about why Meson failed to build.

Expected Behavior

Build should succeed and I should be able to use pandas within my Python Application.

Installed Versions

Cannot build/install.

Tried 2.3.1 which is latest:

Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Requirement already satisfied: python-can in ./venv/lib/python3.13/site-packages (from -r requirements.txt (line 1)) (4.6.1)
Collecting pandas (from -r requirements.txt (line 2))
  Using cached pandas-2.3.1.tar.gz (4.5 MB)
  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
  ╰─> [31 lines of output]
      + meson setup /tmp/pip-install-y9j9k_v2/pandas_d677fcd2c13643ff8c24a90c0a9f811f /tmp/pip-install-y9j9k_v2/pandas_d677fcd2c13643ff8c24a90c0a9f811f/.mesonpy-uutfurzj -Dbuildtype=release -Db_ndebug=if-release -Db_vscrt=md --vsenv --native-file=/tmp/pip-install-y9j9k_v2/pandas_d677fcd2c13643ff8c24a90c0a9f811f/.mesonpy-uutfurzj/meson-python-native-file.ini
      The Meson build system
      Version: 1.8.3
      Source dir: /tmp/pip-install-y9j9k_v2/pandas_d677fcd2c13643ff8c24a90c0a9f811f
      Build dir: /tmp/pip-install-y9j9k_v2/pandas_d677fcd2c13643ff8c24a90c0a9f811f/.mesonpy-uutfurzj
      Build type: native build
      Project name: pandas
      Project version: 2.3.1
      C compiler for the host machine: cc (gcc 14.2.0 "cc (Raspbian 14.2.0-19+rpi1) 14.2.0")
      C linker for the host machine: cc ld.bfd 2.44
      C++ compiler for the host machine: c++ (gcc 14.2.0 "c++ (Raspbian 14.2.0-19+rpi1) 14.2.0")
      C++ linker for the host machine: c++ ld.bfd 2.44
      Cython compiler for the host machine: cython (cython 3.1.3)
      Host machine cpu family: arm
      Host machine cpu: armv7l
      Program python found: YES (/opt/app/venv/bin/python)

      ../pandas/meson.build:1:15: ERROR: Command `/opt/app/venv/bin/python -c '
      import os
      import numpy as np
      try:
          # Check if include directory is inside the pandas dir
          # e.g. a venv created inside the pandas dir
          # If so, convert it to a relative path
          incdir = os.path.relpath(np.get_include())
      except Exception:
          incdir = np.get_include()
      print(incdir)
           '` failed with status 1.

      A full log can be found at /tmp/pip-install-y9j9k_v2/pandas_d677fcd2c13643ff8c24a90c0a9f811f/.mesonpy-uutfurzj/meson-logs/meson-log.txt
      [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.

Tried 2.1.4 which worked fine on Debian Bookworm:

Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Requirement already satisfied: python-can==4.3.1 in ./venv/lib/python3.13/site-packages (from -r requirements.txt (line 1)) (4.3.1)
Collecting pandas==2.1.4 (from -r requirements.txt (line 2))
  Downloading pandas-2.1.4.tar.gz (4.3 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.3/4.3 MB 6.6 MB/s  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
  ╰─> [31 lines of output]
      + meson setup /tmp/pip-install-lpm0348t/pandas_049cc42ad8234edf931488590a6d6657 /tmp/pip-install-lpm0348t/pandas_049cc42ad8234edf931488590a6d6657/.mesonpy-lko771pl/build -Dbuildtype=release -Db_ndebug=if-release -Db_vscrt=md --vsenv --native-file=/tmp/pip-install-lpm0348t/pandas_049cc42ad8234edf931488590a6d6657/.mesonpy-lko771pl/build/meson-python-native-file.ini
      The Meson build system
      Version: 1.2.1
      Source dir: /tmp/pip-install-lpm0348t/pandas_049cc42ad8234edf931488590a6d6657
      Build dir: /tmp/pip-install-lpm0348t/pandas_049cc42ad8234edf931488590a6d6657/.mesonpy-lko771pl/build
      Build type: native build
      Project name: pandas
      Project version: 2.1.4
      C compiler for the host machine: cc (gcc 14.2.0 "cc (Raspbian 14.2.0-19+rpi1) 14.2.0")
      C linker for the host machine: cc ld.bfd 2.44
      C++ compiler for the host machine: c++ (gcc 14.2.0 "c++ (Raspbian 14.2.0-19+rpi1) 14.2.0")
      C++ linker for the host machine: c++ ld.bfd 2.44
      Cython compiler for the host machine: cython (cython 0.29.37)
      Host machine cpu family: arm
      Host machine cpu: armv7l
      Program python found: YES (/opt/app/venv/bin/python)

      ../../pandas/meson.build:1:15: ERROR: Command `/opt/app/venv/bin/python -c '
      import os
      import numpy as np
      try:
          # Check if include directory is inside the pandas dir
          # e.g. a venv created inside the pandas dir
          # If so, convert it to a relative path
          incdir = os.path.relpath(np.get_include())
      except Exception:
          incdir = np.get_include()
      print(incdir)
           '` failed with status 1.

      A full log can be found at /tmp/pip-install-lpm0348t/pandas_049cc42ad8234edf931488590a6d6657/.mesonpy-lko771pl/build/meson-logs/meson-log.txt
      [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.

Tried main Branch:

Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting pandas@ git+https://github.com/pandas-dev/pandas@main (from -r requirements.txt (line 4))
  Cloning https://github.com/pandas-dev/pandas (to revision main) to /tmp/pip-install-q7i1opum/pandas_0a4fefd97257431fa2c67332ca1aa7e0
  Running command git clone --filter=blob:none --quiet https://github.com/pandas-dev/pandas /tmp/pip-install-q7i1opum/pandas_0a4fefd97257431fa2c67332ca1aa7e0
  Resolved https://github.com/pandas-dev/pandas to commit 3940df8255ed04db0089e66ce09a4c986b97cac4
  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
  ╰─> [34 lines of output]
      + meson setup /tmp/pip-install-q7i1opum/pandas_0a4fefd97257431fa2c67332ca1aa7e0 /tmp/pip-install-q7i1opum/pandas_0a4fefd97257431fa2c67332ca1aa7e0/.mesonpy-nyba67pb -Dbuildtype=release -Db_ndebug=if-release -Db_vscrt=md --vsenv --native-file=/tmp/pip-install-q7i1opum/pandas_0a4fefd97257431fa2c67332ca1aa7e0/.mesonpy-nyba67pb/meson-python-native-file.ini
      The Meson build system
      Version: 1.8.3
      Source dir: /tmp/pip-install-q7i1opum/pandas_0a4fefd97257431fa2c67332ca1aa7e0
      Build dir: /tmp/pip-install-q7i1opum/pandas_0a4fefd97257431fa2c67332ca1aa7e0/.mesonpy-nyba67pb
      Build type: native build
      Project name: pandas
      Project version: 3.0.0.dev0+2322.g3940df8255
      C compiler for the host machine: cc (gcc 14.2.0 "cc (Raspbian 14.2.0-19+rpi1) 14.2.0")
      C linker for the host machine: cc ld.bfd 2.44
      C++ compiler for the host machine: c++ (gcc 14.2.0 "c++ (Raspbian 14.2.0-19+rpi1) 14.2.0")
      C++ linker for the host machine: c++ ld.bfd 2.44
      Cython compiler for the host machine: cython (cython 3.1.3)
      Host machine cpu family: arm
      Host machine cpu: armv7l
      Program python found: YES (/opt/app/venv/bin/python)
      Program cython found: YES (/tmp/pip-build-env-es6_6v3v/overlay/bin/cython)
      Found pkg-config: YES (/usr/bin/pkg-config) 1.8.1
      Run-time dependency python found: YES 3.13

      ../pandas/meson.build:1:15: ERROR: Command `/opt/app/venv/bin/python -c '
      import os
      import numpy as np
      try:
          # Check if include directory is inside the pandas dir
          # e.g. a venv created inside the pandas dir
          # If so, convert it to a relative path
          incdir = os.path.relpath(np.get_include())
      except Exception:
          incdir = np.get_include()
      print(incdir)
           '` failed with status 1.

      A full log can be found at /tmp/pip-install-q7i1opum/pandas_0a4fefd97257431fa2c67332ca1aa7e0/.mesonpy-nyba67pb/meson-logs/meson-log.txt
      [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.

Unfortunately there is no Log at all. Not even the Root Folder essentially:

(venv) USER@HOST:/opt/app $ ls -l /tmp/pip-install-q7i1opum/pandas_0a4fefd97257431fa2c67332ca1aa7e0/.mesonpy-nyba67pb/meson-logs/meson-log.txt
ls: cannot access '/tmp/pip-install-q7i1opum/pandas_0a4fefd97257431fa2c67332ca1aa7e0/.mesonpy-nyba67pb/meson-logs/meson-log.txt': No such file or directory
(venv) USER@HOST:/opt/app $ ls -l /tmp/pip-install-q7i1opum
ls: cannot access '/tmp/pip-install-q7i1opum': No such file or directory

Similar story for the other Versions tried (2.1.4 and 2.3.1).

System Information: - Python 3.13.5

/etc/os-release:

PRETTY_NAME="Raspbian GNU/Linux 13 (trixie)"
NAME="Raspbian GNU/Linux"
VERSION_ID="13"
VERSION="13 (trixie)"
VERSION_CODENAME=trixie
DEBIAN_VERSION_FULL=13.0
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"

cat /proc/cpuinfo:

processor   : 0
model name  : ARMv7 Processor rev 4 (v7l)
BogoMIPS    : 76.80
Features    : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32 
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part    : 0xd03
CPU revision    : 4

processor   : 1
model name  : ARMv7 Processor rev 4 (v7l)
BogoMIPS    : 76.80
Features    : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32 
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part    : 0xd03
CPU revision    : 4

processor   : 2
model name  : ARMv7 Processor rev 4 (v7l)
BogoMIPS    : 76.80
Features    : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32 
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part    : 0xd03
CPU revision    : 4

processor   : 3
model name  : ARMv7 Processor rev 4 (v7l)
BogoMIPS    : 76.80
Features    : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32 
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part    : 0xd03
CPU revision    : 4

Hardware    : BCM2835
Revision    : a02082
Serial      : 000000003cad014e
Model       : Raspberry Pi 3 Model B Rev 1.2

raspinfo:

System Information
------------------

Raspberry Pi 3 Model B Rev 1.2
PRETTY_NAME="Raspbian GNU/Linux 13 (trixie)"
NAME="Raspbian GNU/Linux"
VERSION_ID="13"
VERSION="13 (trixie)"

Raspberry Pi reference 2023-10-10
Generated using pi-gen, https://github.com/RPi-Distro/pi-gen, fb56ad562991cf3ae5c96ab50983e1deeaefc7b6, stage2

Linux HOST 6.12.34+rpt-rpi-v7 #1 SMP Raspbian 1:6.12.34-1+rpt1 (2025-06-26) armv7l GNU/Linux
Revision    : a02082
Serial      : 000000003cad014e
Model       : Raspberry Pi 3 Model B Rev 1.2
Throttled flag  : throttled=0x20000
Camera          : supported=0 detected=0, libcamera interfaces=0

Comment From: luckylinux

Seems that some of the Errors could be due to the the OOM Killer.

I fail to see why that would happen though. Granted RAM is only 1GB (but it did build before, like ~ 1.5 Years ago or so). And I also allocated 8GB SWAP to make sure that there would be no Edge Cases 😕.

Anyways, in most cases it fails at the metadata Generation Stage already 😕, so it's NOT a Memory Issue then.