Skip to content

Numpy build dependency is causing install errors #13624

@percevalw

Description

@percevalw

How to reproduce the behaviour

Hi, it seems that the latest spacy release has bumped the numpy build dependency:

[build-system]
requires = [
    "setuptools",
    "cython>=0.25,<3.0",
    "cymem>=2.0.2,<2.1.0",
    "preshed>=3.0.2,<3.1.0",
    "murmurhash>=0.28.0,<1.1.0",
    "thinc>=8.3.0,<8.4.0",
    "numpy>=2.0.0,<2.1.0; python_version < '3.9'",
    "numpy>=2.0.0,<2.1.0; python_version >= '3.9'",
]

(from pyproject.toml in the pypi source distribution)

These requirements are not the same as the one on the main branch of your repo: https://github.com/explosion/spaCy/blob/30f1f33e78e123d8ba9cf10ee8edb98a5a5e7170/pyproject.toml#L1C1-L12C40

breaking installations for earlier python versions (I think numpy 2.0 is only py > 3.10 ?), see below:

Notice:  A new release of pip is available: 23.0.1 -> 24.0
Notice:  To update, run: pip install --upgrade pip
error: Failed to build: `edsnlp @ file:///home/runner/work/edsnlp/edsnlp`
  Caused by: Failed to install requirements from `build-system.requires` (install)
  Caused by: Failed to prepare distributions
  Caused by: Failed to fetch wheel: spacy==3.8.0
  Caused by: Failed to install requirements from `build-system.requires` (resolve)
  Caused by: No solution found when resolving: setuptools, cython>=0.25, <3.0, cymem>=2.0.2, <2.1.0, preshed>=3.0.2, <3.1.0, murmurhash>=0.28.0, <1.1.0, thinc>=8.3.0, <8.4.0, numpy>=2.0.0, <2.1.0 ; python_full_version < '3.9', numpy>=2.0.0, <2.1.0 ; python_full_version >= '3.9'
  Caused by: Because only the following versions of numpy{python_full_version < '3.9'} are available:
    numpy{python_full_version < '3.9'}<=2.0.0
    numpy{python_full_version < '3.9'}==2.0.1
    numpy{python_full_version < '3.9'}==2.0.2
    numpy{python_full_version < '3.9'}>2.1.0
and the current Python version (3.7.17) does not satisfy Python>=3.8, we can conclude that numpy{python_full_version < '3.9'}>=2.0.0,<2.1.0 is incompatible.
And because you require numpy{python_full_version < '3.9'}>=2.0.0,<2.1.0, we can conclude that your requirements are unsatisfiable.

Your Environment

  • Operating System: Linux
  • Python Version Used: 3.7/3.8/3.9
  • spaCy Version Used: 3.8.0
  • Environment Information:

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions