scipy icon indicating copy to clipboard operation
scipy copied to clipboard

BUG: scipy-1.14.1-cp312-cp312-macosx_12_0_arm64 wheel rejected by pip check

Open duncanmmacleod opened this issue 6 months ago • 8 comments

Describe your issue.

The wheel installed by pip install scipy==1.14.1 on an arm64 macos machine running macos 12.7.5 is rejected by pip check because the Tag metadata isn't recognised:

$ uname -a
Darwin builder-osx-7.ligo.org 21.6.0 Darwin Kernel Version 21.6.0: Wed Apr 24 06:05:12 PDT 2024; root:xnu-8020.240.18.708.4~1/RELEASE_ARM64_T8101 arm64
$ sw_vers
ProductName:    macOS
ProductVersion: 12.7.5
BuildVersion:   21H1222
$ conda create -n test -c conda-forge python=3.12 pip
$ conda activate test
$ pip install scipy
$ pip list
Package    Version
---------- -------
numpy      2.1.0
pip        24.2
scipy      1.14.1
setuptools 72.2.0
wheel      0.44.0
$ pip check
scipy 1.14.1 is not supported on this platform

The issue, as I understand it, is that the Tag metadata for the wheel doesn't match any of the tags understood by the packaging library (vendored inside pip):

$ grep Tag ${CONDA_PREFIX}/lib/python3.12/site-packages/scipy-*.dist-info/WHEEL
Tag: cp312-cp312-macosx_12_3_arm64
$ python3 -c "import pprint; from pip._vendor.packaging.tags import mac_platforms; pprint.pprint(list(mac_platforms()))";
['macosx_12_0_arm64',
 'macosx_12_0_universal2',
 'macosx_11_0_arm64',
 'macosx_11_0_universal2',
 'macosx_10_16_universal2',
 'macosx_10_15_universal2',
 'macosx_10_14_universal2',
 'macosx_10_13_universal2',
 'macosx_10_12_universal2',
 'macosx_10_11_universal2',
 'macosx_10_10_universal2',
 'macosx_10_9_universal2',
 'macosx_10_8_universal2',
 'macosx_10_7_universal2',
 'macosx_10_6_universal2',
 'macosx_10_5_universal2',
 'macosx_10_4_universal2']

i.e. there is no valid macosx_12_3_arm64 platform.

I have no idea whether this is a bug in pip/packaging or an issue with that wheel.

Reproducing Code Example

conda create -n test -c conda-forge python=3.12 pip
conda activate test
pip install scipy
pip check

Error message

scipy 1.14.1 is not supported on this platform

SciPy/NumPy/Python version and system information

1.14.1 2.1.0 sys.version_info(major=3, minor=12, micro=5, releaselevel='final', serial=0)
/Users/duncanmacleod/opt/conda/envs/test/lib/python3.12/site-packages/scipy/__config__.py:154: UserWarning: Install `pyyaml` for better output
  warnings.warn("Install `pyyaml` for better output", stacklevel=1)
{
  "Compilers": {
    "c": {
      "name": "clang",
      "linker": "ld64",
      "version": "15.0.0",
      "commands": "cc"
    },
    "cython": {
      "name": "cython",
      "linker": "cython",
      "version": "3.0.11",
      "commands": "cython"
    },
    "c++": {
      "name": "clang",
      "linker": "ld64",
      "version": "15.0.0",
      "commands": "c++"
    },
    "fortran": {
      "name": "gcc",
      "linker": "ld64",
      "version": "12.1.0",
      "commands": "gfortran"
    },
    "pythran": {
      "version": "0.16.1",
      "include directory": "../../../../../../private/var/folders/hw/1f0gcr8d6kn9ms0_wn0_57qc0000gn/T/pip-build-env-x9rig1ei/overlay/lib/python3.12/site-packages/pythran"
    }
  },
  "Machine Information": {
    "host": {
      "cpu": "aarch64",
      "family": "aarch64",
      "endian": "little",
      "system": "darwin"
    },
    "build": {
      "cpu": "aarch64",
      "family": "aarch64",
      "endian": "little",
      "system": "darwin"
    },
    "cross-compiled": false
  },
  "Build Dependencies": {
    "blas": {
      "name": "scipy-openblas",
      "found": true,
      "version": "0.3.27.dev",
      "detection method": "pkgconfig",
      "include directory": "/private/var/folders/hw/1f0gcr8d6kn9ms0_wn0_57qc0000gn/T/cibw-run-ghg42m3n/cp312-macosx_arm64/build/venv/lib/python3.12/site-packages/scipy_openblas32/include",
      "lib directory": "/private/var/folders/hw/1f0gcr8d6kn9ms0_wn0_57qc0000gn/T/cibw-run-ghg42m3n/cp312-macosx_arm64/build/venv/lib/python3.12/site-packages/scipy_openblas32/lib",
      "openblas configuration": "OpenBLAS 0.3.27.dev DYNAMIC_ARCH NO_AFFINITY neoversen1 MAX_THREADS=64",
      "pc file directory": "/Users/runner/work/scipy/scipy"
    },
    "lapack": {
      "name": "scipy-openblas",
      "found": true,
      "version": "0.3.27.dev",
      "detection method": "pkgconfig",
      "include directory": "/private/var/folders/hw/1f0gcr8d6kn9ms0_wn0_57qc0000gn/T/cibw-run-ghg42m3n/cp312-macosx_arm64/build/venv/lib/python3.12/site-packages/scipy_openblas32/include",
      "lib directory": "/private/var/folders/hw/1f0gcr8d6kn9ms0_wn0_57qc0000gn/T/cibw-run-ghg42m3n/cp312-macosx_arm64/build/venv/lib/python3.12/site-packages/scipy_openblas32/lib",
      "openblas configuration": "OpenBLAS 0.3.27.dev DYNAMIC_ARCH NO_AFFINITY neoversen1 MAX_THREADS=64",
      "pc file directory": "/Users/runner/work/scipy/scipy"
    },
    "pybind11": {
      "name": "pybind11",
      "version": "2.12.0",
      "detection method": "config-tool",
      "include directory": "unknown"
    }
  },
  "Python Information": {
    "path": "/private/var/folders/hw/1f0gcr8d6kn9ms0_wn0_57qc0000gn/T/cibw-run-ghg42m3n/cp312-macosx_arm64/build/venv/bin/python",
    "version": "3.12"
  }
}

duncanmmacleod avatar Aug 23 '24 09:08 duncanmmacleod