-
-
Notifications
You must be signed in to change notification settings - Fork 25.8k
BLD Update Cython minimum version to 0.29.33
#25342
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
BLD Update Cython minimum version to 0.29.33
#25342
Conversation
I think you need to update all the lock files by running |
Hum, some specifications' resolution with pip (e.g. the one of |
@lesteve I can reproduce the problem with the resolution of It's independent of the Cython min version change in this PR since it also happens on Furthermore it's weird to have a build env named |
I've tried removing this constraints on Extracted step with debug mode for logging
|
Not sure what is happening about conda-lock stalling, for now this is where I am at, I can reproduce with only
channels:
- conda-forge
dependencies:
- python
- pip
- pip:
- sphinxcontrib-applehelp Not sure what is wrong here and what has changed since last time it worked, I tried pinning sphinxcontrib-applehelp and sphinx to previous versions but that is not enough apparently. |
I have opened an issue in conda-lock conda/conda-lock#309 |
I have opened #25361 to update lock files by installing sphinx with conda to work-around the issue. |
…nto dev/use-cython-geq-0.29.33
I merged main to have the work-around from #25361 and pushed an update of the lock files. |
The update has not been applied to all the lock files to take Should we enforce this constraint (temporarily) somewhere, e.g. with scikit-learn/build_tools/update_environments_and_lock_files.py Lines 75 to 79 in aca0326
|
It actually seems like cython 0.29.33 does not satisfy some constraints for the environments that don't have it. E.g. on Linux cython 0.29.33 is not available in the defaults channel:
Simplest thing I can think of for this environment is to install it with pip ... The other problematic environment is the no-openmp one and maybe this is a good excuse to tackle #24694. |
Cython 0.29.33 is available on conda-forge. Should we use |
Fine with this, IIRC at one point the consensus was to keep at least one build with the If we go this direction, we will need to change the name of the environment and lock files (and maybe the build name in the Azure .yml for consistency?) |
Since Cython is a compile dependency, the ideal would be to only resolve Cython using |
Probably not, if we think this is important to minimise changes, using Also maybe in a few days/weeks, the latest cython will be available on the Edit: cython 0.29.32 it was uploaded on September 20 on conda-forge and October 25 on the defaults channel so may need to wait a bit. |
I am fine waiting for |
We can also try to push asking for an update on this issue tracker: https://github.com/ContinuumIO/anaconda-issues |
Updating conda-lock from 1.2.1 to 1.3.0 allows resolving all the environements. |
ContinuumIO/anaconda-issues#13120 has been opened accordingly. |
Co-authored-by: Loïc Estève <loic.esteve@ymail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM as well. Thanks!
Thank you! On the road for cleaner, cleaner and more efficient implementations. |
Co-authored-by: Loïc Estève <loic.esteve@ymail.com>
Co-authored-by: Loïc Estève <loic.esteve@ymail.com>
Reference Issues/PRs
Closes #25322
What does this implement/fix? Explain your changes.
This makes sure we use the latest stable version of Cython which brings support for
const
fused-typed memoryviews. This supports easing maintenance, improving the transparency of implementations' support for read-only buffers, and allowing using a newer set of interfaces for NumPy C API.