conda-forge / pytensor-suite-feedstock

A conda-smithy repository for pytensor-suite.
BSD 3-Clause "New" or "Revised" License
0 stars 7 forks source link

Unexplained `numpy>=1.24.2` pin by `pytensor-base==2.10.1` #18

Closed michaelosthege closed 1 year ago

michaelosthege commented 1 year ago

Solution to issue cannot be found in the documentation.

Issue

Trying to update to pytensor-base==2.10.1 (for PyMC 5.1.1) I'm stuck because pytensor-base==2.10.1 appears to require numpy>=1.24.2 but I can't figure out why. The recipe in this feedstock only requires numpy>=1.17.0.

mamba create -n pmtest -c conda-forge --dry-run "python==3.9.15" "numpy==1.22.4" "pytensor-base==2.10.1"

gives

Encountered problems while solving:
  - package pytensor-base-2.10.1-py39h99910a6_0 requires numpy >=1.24.2,<2.0a0, but none of the providers can be installed

This is very annoying because support for bleeding-edge NumPy is only available with very recent numba versions that no longer (or not yet) support Python 3.9.

Installed packages

does not apply

Environment info

does not apply
maresb commented 1 year ago

You're on osx-arm64?

maresb commented 1 year ago

No, windows

maresb commented 1 year ago

In https://anaconda.org/conda-forge/pytensor-base/2.10.1/download/win-64/pytensor-base-2.10.1-py39h99910a6_0.conda → info-pytensor-base-2.10.1-py39h99910a6_0.tar.zst → index.json:

{
  "arch": "x86_64",
  "build": "py39h99910a6_0",
  "build_number": 0,
  "depends": [
    "cons",
    "etuples",
    "filelock",
    "logical-unification",
    "minikanren",
    "numpy >=1.17.0",
    "numpy >=1.24.2,<2.0a0",
    "python >=3.9,<3.10.0a0",
    "python_abi 3.9.* *_cp39",
    "scipy >=0.14",
    "setuptools >=48.0.0",
    "typing_extensions",
    "ucrt >=10.0.20348.0",
    "vc >=14.2,<15",
    "vs2015_runtime >=14.29.30139"
  ],
  "license": "BSD-3-Clause",
  "name": "pytensor-base",
  "platform": "win",
  "subdir": "win-64",
  "timestamp": 1676935903169,
  "version": "2.10.1"
}

so indeed there is a requirement being added. I suspect it's 1503648 from https://github.com/conda-forge/pytensor-suite-feedstock/pull/16.

I'm guessing that it's the host dependency, so perhaps leaving it as a build and run dependency is sufficient?

Do you know where is that issue regarding the ABI compatibility from around the same time?

maresb commented 1 year ago

I'm surprised that a numpy pin is being added despite not using pin_compatible("numpy") as per https://conda-forge.org/docs/maintainer/knowledge_base.html#cross-compilation

michaelosthege commented 1 year ago

I got the problem in a Docker image build, so Linux. I tested the MWE on Windows, yes, but I have a strong prior that this is in fact independent of the OS.

michaelosthege commented 1 year ago

I also tried to inspect the .conda file, but couldn't open the .tar.zst inside. How did you do that?

maresb commented 1 year ago

I'm running Ubuntu and the default Archive Manager opens it no problem.

hmaarrfk commented 1 year ago

@conda-forge-admin please rerender

conda-forge-webservices[bot] commented 1 year ago

Hi! This is the friendly automated conda-forge-webservice.

I just wanted to let you know that I started rerendering the recipe in conda-forge/pytensor-suite-feedstock#35.