Implement fast frozen solve for conda env update
#9511
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Implement fast frozen solve for
conda env update
In 4.7 release there was introduced the feature of locking down packages that are not involved in the solution, so that the solver’s problem is simpler, and the install commands are run faster.
Thus,
conda install
has option--freeze-installed
(or--no-update-deps
) enabled by default with a fallback to the full solve method in case of an unsatisfiable error.See the corresponding PR: #8620.
In this PR I'm trying to apply the same logic to
conda env update
command which is effectively rather similar toconda install
. This speeds upconda env update
by preventing existing packages from unnecessary updating.I'm not sure whether some additional tests are requiered, as such behavior is already tested in
test_install_freezes_env_by_default()
, andconda env update
uses the sameconda.core.solve.Solver
asconda install
.