Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update numpy<2 pins and sync deps #144

Merged
merged 2 commits into from
Jun 20, 2024
Merged

Update numpy<2 pins and sync deps #144

merged 2 commits into from
Jun 20, 2024

Conversation

jaimergp
Copy link
Collaborator

@jaimergp jaimergp commented May 27, 2024

@jni
Copy link
Member

jni commented May 27, 2024

@jaimergp it looks like rc2 exposed other needed changes, see this Zulip message and subsequent ones (and napari/napari#6932

@jaimergp
Copy link
Collaborator Author

Thanks for the heads up @jni! I'll leave this on standby in the meantime.

@jaimergp
Copy link
Collaborator Author

Hm, now we have #160, which suggests to pin numpy<2 for Python <3.10 (effectively, only Python 3.9?). I'm not sure if this is a problem that napari itself has, or is more about being protective about some dependencies. Reading napari/napari#6998, it looks like it has to do with scikit-image? 🤔 Why constrain here if the solver will handle that? I think it's ok to leave unpinned for all Python versions in condaworld, but lmk otherwise @jni

@jaimergp jaimergp changed the title Update deps Update numpy<2 pins Jun 20, 2024
@Czaki
Copy link

Czaki commented Jun 20, 2024

scikit-image does not have python 3.9 release compatible with numpy 2, but have python 3.9 releases without upper bound for numpy. That lead to pip installing numpy 2.0 and some old scikit-image.

@jaimergp
Copy link
Collaborator Author

jaimergp commented Jun 20, 2024

Ah ok, I see, then we can repodata patch that in conda-forge, no probs!

Edit: I checked and in conda-forge there are no scikit-image releases that are compatible with py39 and do not pin numpy<2, so I think we are safe. The only ones with unpinned numpy are really old which are only available for Python <=3.6 anyway.

And here are the solver errors if you try
$ conda create -dnx --platform=linux-64 scikit-image numpy=2 python=3.9
Channels:
 - conda-forge
Platform: linux-64
Collecting package metadata (repodata.json): done
Solving environment: failed

LibMambaUnsatisfiableError: Encountered problems while solving:
  - nothing provides _numpy_rc needed by numpy-2.0.0rc1-py310h515e003_0

Could not solve for environment specs
The following packages are incompatible
├─ numpy 2**  is installable with the potential options
│  ├─ numpy [1.21.3|1.21.4|...|2.0.0] would require
│  │  ├─ python >=3.10,<3.11.0a0 , which can be installed;
│  │  └─ python_abi 3.10.* *_cp310, which can be installed;
│  ├─ numpy [1.23.4|1.23.5|...|2.0.0] would require
│  │  ├─ python >=3.11,<3.12.0a0 , which can be installed;
│  │  └─ python_abi 3.11.* *_cp311, which can be installed;
│  ├─ numpy [1.26.0|1.26.2|1.26.3|1.26.4|2.0.0] would require
│  │  └─ python_abi 3.12.* *_cp312, which can be installed;
│  ├─ numpy 2.0.0, which can be installed;
│  └─ numpy [2.0.0rc1|2.0.0rc2] would require
│     └─ _numpy_rc, which does not exist (perhaps a missing channel);
├─ python 3.9**  is not installable because it conflicts with any installable versions previously reported;
└─ scikit-image is installable with the potential options
   ├─ scikit-image [0.12.3|0.13.0|...|0.14.3] would require
   │  └─ python [2.7* |>=2.7,<2.8.0a0 ], which can be installed;
   ├─ scikit-image 0.12.3 would require
   │  └─ python 3.4* , which can be installed;
   ├─ scikit-image [0.12.3|0.13.0|0.13.1|0.14.0] would require
   │  └─ python [3.5* |>=3.5,<3.6.0a0 ], which can be installed;
   ├─ scikit-image [0.12.3|0.13.0|0.13.1|0.14.0] would require
   │  └─ python 3.6* , which can be installed;
   ├─ scikit-image [0.14.0|0.14.1|...|0.16.2] would require
   │  └─ python >=3.6,<3.7.0a0 , which can be installed;
   ├─ scikit-image [0.14.1|0.14.2|...|0.16.2] would require
   │  └─ python >=3.7,<3.8.0a0 , which can be installed;
   ├─ scikit-image 0.16.2 would require
   │  └─ python >=3.8,<3.9.0a0 , which can be installed;
   ├─ scikit-image [0.17.1|0.17.2] would require
   │  ├─ python >=3.6,<3.7.0a0 , which can be installed;
   │  └─ python_abi 3.6.* *_cp36m, which can be installed;
   ├─ scikit-image [0.17.1|0.17.2|...|0.19.3] would require
   │  ├─ python >=3.7,<3.8.0a0 , which can be installed;
   │  └─ python_abi 3.7.* *_cp37m, which can be installed;
   ├─ scikit-image [0.17.1|0.17.2|...|0.21.0] would require
   │  ├─ python >=3.8,<3.9.0a0 , which can be installed;
   │  └─ python_abi 3.8.* *_cp38, which can be installed;
   ├─ scikit-image 0.17.2 would require
   │  └─ python_abi 3.6 *_pypy36_pp73, which can be installed;
   ├─ scikit-image 0.17.2 would require
   │  └─ numpy >=1.19.2,<2.0a0  with the potential options
   │     ├─ numpy [1.19.2|1.19.4|1.19.5] would require
   │     │  ├─ python >=3.6,<3.7.0a0 , which can be installed;
   │     │  └─ python_abi 3.6.* *_cp36m, which can be installed;
   │     ├─ numpy [1.19.2|1.19.4|1.19.5] would require
   │     │  └─ python_abi 3.6 *_pypy36_pp73, which can be installed;
   │     ├─ numpy [1.19.2|1.19.4|...|1.21.6] would require
   │     │  ├─ python >=3.7,<3.8.0a0 , which can be installed;
   │     │  └─ python_abi 3.7.* *_cp37m, which can be installed;
   │     ├─ numpy [1.19.2|1.19.4|...|1.24.4] would require
   │     │  ├─ python >=3.8,<3.9.0a0 , which can be installed;
   │     │  └─ python_abi 3.8.* *_cp38, which can be installed;
   │     ├─ numpy 1.19.2 conflicts with any installable versions previously reported;
   │     ├─ numpy 1.19.4 conflicts with any installable versions previously reported;
   │     ├─ numpy [1.19.5|1.20.0|...|1.21.5] would require
   │     │  └─ python_abi 3.7 *_pypy37_pp73, which can be installed;
   │     ├─ numpy [1.19.5|1.20.3|...|1.24.1] would require
   │     │  └─ python_abi 3.8 *_pypy38_pp73, which can be installed;
   │     ├─ numpy [1.19.5|1.20.3|...|1.24.1] would require
   │     │  └─ python_abi 3.9 *_pypy39_pp73, which can be installed;
   │     ├─ numpy [1.19.5|1.20.0|1.20.1|1.20.2] conflicts with any installable versions previously reported;
   │     ├─ numpy [1.20.3|1.21.0|...|1.21.5] conflicts with any installable versions previously reported;
   │     ├─ numpy [1.21.3|1.21.4|...|2.0.0], which can be installed (as previously explained);
   │     ├─ numpy [1.21.6|1.22.0|1.22.1|1.22.2|1.22.3] conflicts with any installable versions previously reported;
   │     ├─ numpy [1.22.4|1.23.0|...|1.26.4] conflicts with any installable versions previously reported;
   │     ├─ numpy [1.23.4|1.23.5|...|2.0.0], which can be installed (as previously explained);
   │     ├─ numpy [1.24.2|1.24.3|1.24.4] would require
   │     │  └─ pypy3.8 >=7.3.11 , which can be installed;
   │     ├─ numpy [1.24.2|1.24.3|...|1.25.2] would require
   │     │  └─ pypy3.9 >=7.3.11 , which can be installed;
   │     ├─ numpy [1.26.0|1.26.2|1.26.3|1.26.4|2.0.0], which can be installed (as previously explained);
   │     ├─ numpy 1.26.0 would require
   │     │  └─ pypy3.9 >=7.3.12 , which can be installed;
   │     ├─ numpy [1.26.2|1.26.3] would require
   │     │  └─ pypy3.9 >=7.3.13 , which can be installed;
   │     └─ numpy 1.26.4 would require
   │        └─ pypy3.9 >=7.3.15 , which can be installed;
   ├─ scikit-image [0.17.2|0.18.0|0.18.1] would require
   │  └─ numpy >=1.19.4,<2.0a0  with the potential options
   │     ├─ numpy [1.19.2|1.19.4|1.19.5], which can be installed (as previously explained);
   │     ├─ numpy [1.19.2|1.19.4|1.19.5], which can be installed (as previously explained);
   │     ├─ numpy [1.19.2|1.19.4|...|1.21.6], which can be installed (as previously explained);
   │     ├─ numpy [1.19.2|1.19.4|...|1.24.4], which can be installed (as previously explained);
   │     ├─ numpy 1.19.4 conflicts with any installable versions previously reported;
   │     ├─ numpy [1.19.5|1.20.0|...|1.21.5], which can be installed (as previously explained);
   │     ├─ numpy [1.19.5|1.20.3|...|1.24.1], which can be installed (as previously explained);
   │     ├─ numpy [1.19.5|1.20.3|...|1.24.1], which cannot be installed (as previously explained);
   │     ├─ numpy [1.19.5|1.20.0|1.20.1|1.20.2] conflicts with any installable versions previously reported;
   │     ├─ numpy [1.20.3|1.21.0|...|1.21.5] conflicts with any installable versions previously reported;
   │     ├─ numpy [1.21.3|1.21.4|...|2.0.0], which can be installed (as previously explained);
   │     ├─ numpy [1.21.6|1.22.0|1.22.1|1.22.2|1.22.3] conflicts with any installable versions previously reported;
   │     ├─ numpy [1.22.4|1.23.0|...|1.26.4] conflicts with any installable versions previously reported;
   │     ├─ numpy [1.23.4|1.23.5|...|2.0.0], which can be installed (as previously explained);
   │     ├─ numpy [1.24.2|1.24.3|1.24.4], which can be installed (as previously explained);
   │     ├─ numpy [1.24.2|1.24.3|...|1.25.2], which cannot be installed (as previously explained);
   │     ├─ numpy [1.26.0|1.26.2|1.26.3|1.26.4|2.0.0], which can be installed (as previously explained);
   │     ├─ numpy 1.26.0, which cannot be installed (as previously explained);
   │     ├─ numpy [1.26.2|1.26.3], which cannot be installed (as previously explained);
   │     └─ numpy 1.26.4, which cannot be installed (as previously explained);
   ├─ scikit-image [0.18.1|0.18.2|...|0.19.3] would require
   │  └─ python_abi 3.7 *_pypy37_pp73, which can be installed;
   ├─ scikit-image [0.18.2|0.18.3|...|0.19.3] would require
   │  ├─ numpy >=1.19.5,<2.0a0  with the potential options
   │  │  ├─ numpy [1.19.2|1.19.4|1.19.5], which can be installed (as previously explained);
   │  │  ├─ numpy [1.19.2|1.19.4|1.19.5], which can be installed (as previously explained);
   │  │  ├─ numpy [1.19.2|1.19.4|...|1.21.6], which can be installed (as previously explained);
   │  │  ├─ numpy [1.19.2|1.19.4|...|1.24.4], which can be installed (as previously explained);
   │  │  ├─ numpy [1.19.5|1.20.0|...|1.21.5], which can be installed (as previously explained);
   │  │  ├─ numpy [1.19.5|1.20.3|...|1.24.1], which can be installed (as previously explained);
   │  │  ├─ numpy [1.19.5|1.20.3|...|1.24.1], which cannot be installed (as previously explained);
   │  │  ├─ numpy [1.19.5|1.20.0|1.20.1|1.20.2] conflicts with any installable versions previously reported;
   │  │  ├─ numpy [1.20.3|1.21.0|...|1.21.5] conflicts with any installable versions previously reported;
   │  │  ├─ numpy [1.21.3|1.21.4|...|2.0.0], which can be installed (as previously explained);
   │  │  ├─ numpy [1.21.6|1.22.0|1.22.1|1.22.2|1.22.3] conflicts with any installable versions previously reported;
   │  │  ├─ numpy [1.22.4|1.23.0|...|1.26.4] conflicts with any installable versions previously reported;
   │  │  ├─ numpy [1.23.4|1.23.5|...|2.0.0], which can be installed (as previously explained);
   │  │  ├─ numpy [1.24.2|1.24.3|1.24.4], which can be installed (as previously explained);
   │  │  ├─ numpy [1.24.2|1.24.3|...|1.25.2], which cannot be installed (as previously explained);
   │  │  ├─ numpy [1.26.0|1.26.2|1.26.3|1.26.4|2.0.0], which can be installed (as previously explained);
   │  │  ├─ numpy 1.26.0, which cannot be installed (as previously explained);
   │  │  ├─ numpy [1.26.2|1.26.3], which cannot be installed (as previously explained);
   │  │  └─ numpy 1.26.4, which cannot be installed (as previously explained);
   │  └─ python_abi 3.9 *_pypy39_pp73, which can be installed;
   ├─ scikit-image [0.18.3|0.19.0|...|0.24.0] would require
   │  ├─ python >=3.10,<3.11.0a0 , which can be installed;
   │  └─ python_abi 3.10.* *_cp310, which can be installed;
   ├─ scikit-image [0.19.3|0.20.0|...|0.24.0] would require
   │  ├─ python >=3.11,<3.12.0a0 , which can be installed;
   │  └─ python_abi 3.11.* *_cp311, which can be installed;
   ├─ scikit-image 0.19.3 would require
   │  └─ python_abi 3.8 *_pypy38_pp73, which can be installed;
   ├─ scikit-image 0.19.3 would require
   │  ├─ numpy >=1.20.3,<2.0a0  with the potential options
   │  │  ├─ numpy [1.19.2|1.19.4|...|1.21.6], which can be installed (as previously explained);
   │  │  ├─ numpy [1.19.2|1.19.4|...|1.24.4], which can be installed (as previously explained);
   │  │  ├─ numpy [1.19.5|1.20.0|...|1.21.5], which can be installed (as previously explained);
   │  │  ├─ numpy [1.19.5|1.20.3|...|1.24.1], which can be installed (as previously explained);
   │  │  ├─ numpy [1.19.5|1.20.3|...|1.24.1], which cannot be installed (as previously explained);
   │  │  ├─ numpy [1.20.3|1.21.0|...|1.21.5] conflicts with any installable versions previously reported;
   │  │  ├─ numpy [1.21.3|1.21.4|...|2.0.0], which can be installed (as previously explained);
   │  │  ├─ numpy [1.21.6|1.22.0|1.22.1|1.22.2|1.22.3] conflicts with any installable versions previously reported;
   │  │  ├─ numpy [1.22.4|1.23.0|...|1.26.4] conflicts with any installable versions previously reported;
   │  │  ├─ numpy [1.23.4|1.23.5|...|2.0.0], which can be installed (as previously explained);
   │  │  ├─ numpy [1.24.2|1.24.3|1.24.4], which can be installed (as previously explained);
   │  │  ├─ numpy [1.24.2|1.24.3|...|1.25.2], which cannot be installed (as previously explained);
   │  │  ├─ numpy [1.26.0|1.26.2|1.26.3|1.26.4|2.0.0], which can be installed (as previously explained);
   │  │  ├─ numpy 1.26.0, which cannot be installed (as previously explained);
   │  │  ├─ numpy [1.26.2|1.26.3], which cannot be installed (as previously explained);
   │  │  └─ numpy 1.26.4, which cannot be installed (as previously explained);
   │  └─ python_abi 3.9 *_pypy39_pp73, which can be installed;
   ├─ scikit-image [0.20.0|0.21.0] would require
   │  └─ pypy3.8 >=7.3.11 , which can be installed;
   ├─ scikit-image 0.20.0 would require
   │  ├─ numpy >=1.21.6,<2.0a0  with the potential options
   │  │  ├─ numpy [1.19.2|1.19.4|...|1.21.6], which can be installed (as previously explained);
   │  │  ├─ numpy [1.19.2|1.19.4|...|1.24.4], which can be installed (as previously explained);
   │  │  ├─ numpy [1.19.5|1.20.3|...|1.24.1], which can be installed (as previously explained);
   │  │  ├─ numpy [1.19.5|1.20.3|...|1.24.1], which cannot be installed (as previously explained);
   │  │  ├─ numpy [1.21.3|1.21.4|...|2.0.0], which can be installed (as previously explained);
   │  │  ├─ numpy [1.21.6|1.22.0|1.22.1|1.22.2|1.22.3] conflicts with any installable versions previously reported;
   │  │  ├─ numpy [1.22.4|1.23.0|...|1.26.4] conflicts with any installable versions previously reported;
   │  │  ├─ numpy [1.23.4|1.23.5|...|2.0.0], which can be installed (as previously explained);
   │  │  ├─ numpy [1.24.2|1.24.3|1.24.4], which can be installed (as previously explained);
   │  │  ├─ numpy [1.24.2|1.24.3|...|1.25.2], which cannot be installed (as previously explained);
   │  │  ├─ numpy [1.26.0|1.26.2|1.26.3|1.26.4|2.0.0], which can be installed (as previously explained);
   │  │  ├─ numpy 1.26.0, which cannot be installed (as previously explained);
   │  │  ├─ numpy [1.26.2|1.26.3], which cannot be installed (as previously explained);
   │  │  └─ numpy 1.26.4, which cannot be installed (as previously explained);
   │  └─ pypy3.9 >=7.3.11 , which can be installed;
   ├─ scikit-image [0.21.0|0.22.0|0.24.0] would require
   │  ├─ numpy >=1.22.4,<2.0a0  with the potential options
   │  │  ├─ numpy [1.19.2|1.19.4|...|1.24.4], which can be installed (as previously explained);
   │  │  ├─ numpy [1.19.5|1.20.3|...|1.24.1], which can be installed (as previously explained);
   │  │  ├─ numpy [1.19.5|1.20.3|...|1.24.1], which cannot be installed (as previously explained);
   │  │  ├─ numpy [1.21.3|1.21.4|...|2.0.0], which can be installed (as previously explained);
   │  │  ├─ numpy [1.22.4|1.23.0|...|1.26.4] conflicts with any installable versions previously reported;
   │  │  ├─ numpy [1.23.4|1.23.5|...|2.0.0], which can be installed (as previously explained);
   │  │  ├─ numpy [1.24.2|1.24.3|1.24.4], which can be installed (as previously explained);
   │  │  ├─ numpy [1.24.2|1.24.3|...|1.25.2], which cannot be installed (as previously explained);
   │  │  ├─ numpy [1.26.0|1.26.2|1.26.3|1.26.4|2.0.0], which can be installed (as previously explained);
   │  │  ├─ numpy 1.26.0, which cannot be installed (as previously explained);
   │  │  ├─ numpy [1.26.2|1.26.3], which cannot be installed (as previously explained);
   │  │  └─ numpy 1.26.4, which cannot be installed (as previously explained);
   │  └─ pypy3.9 [>=7.3.11 |>=7.3.13 |>=7.3.15 ], which can be installed;
   └─ scikit-image [0.22.0|0.23.2|0.24.0] would require
      └─ python_abi 3.12.* *_cp312, which can be installed.

@jaimergp jaimergp changed the title Update numpy<2 pins Update numpy<2 pins and sync deps Jun 20, 2024
@jaimergp jaimergp merged commit 7131b3b into main Jun 20, 2024
9 checks passed
@jaimergp jaimergp deleted the numpy-2 branch June 20, 2024 11:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants