-
-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
Use --satisfied-skip-solve
on conda install
#5631
Conversation
This feature was introduced on conda https://github.com/conda/conda/blob/master/CHANGELOG.md#improvements-6 So, we can't merge and deploy this PR until we upgrade all the images first. On the other hand, this can be added under a feature flag, but I think it's better to make a new deploy of the Docker images at this point. |
Skip (do not upgrade) already satisfied dependencies that were installed by the user when creating the environment, when installing our own dependencies.
78e7146
to
c63efba
Compare
OK. I found that this is still a problem for our use case :/ I did some tests with this repo (https://github.com/rtfd/test-builds/tree/conda-satisfied-skip-solve)
Up to here, it works as I expected. Although, when there is at least one package that needs to be upgraded, it upgrades all the packages and we don't want that:
It will update sphinx to |
I just tried this with miniconda |
We run 3 steps when a project depends on conda. 1. create the whole environment based on user's YAML file 2. run `conda install` with our own dependencies 3. run `pip install` with some of our dependencies that are not published on conda repositories. This commit changes this to make it in just one step (at environment creation). To do this, it appends our own requirements to the `environment.yml` file under `dependencies` and `dependencies.pip` config (see https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html#create-env-file-manually) It also shows the resulting `environment.yml` in the build output. This behavior is added behind a feature flag so we can test it first. This allow users to be able to pin their dependencies as they want without us upgrading them in the second step. Also, this should improve the build time, since dependencies resolution is done just once. Related to * #3829 * #5631
I'm closing this PR for now since we have a feature flag that helps us here. We can revisit in the future when |
Skip (do not upgrade) already satisfied dependencies that were
installed by the user when creating the environment, when installing
our own dependencies.
Closes #3829
Related readthedocs/readthedocs-docker-images#102