Fix broken pytorch version constraint #31
Closed
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.
When trying to install mmcv from conda-forge alongside a precise version of pytorch, the constraint on pytorch's build string fails erroneously due to a missing leading asterisk in the run requirements/constraints. Installation combinations that should be allowed are blocked.
Example repro using micromamba (also repros with bare conda, but it's so slow):
(Side note: CONDA_OVERRIDE_CUDA is required since the meta.yaml places a requirement that the host has a system cuda installation available, which is not necessary, but that's a different issue.)
Result:
There is a constraint that the build begins with the string literal "cuda" (with nothing before it). However, pytorch builds are prefixed with the python version, followed by the cuda version. So the constraint should be
pytorch * *cuda*
.I encountered this exact issue with pytorch3d's feedstock repo and applied the same fix in this PR:
conda-forge/pytorch3d-feedstock#9
This issue may be rather common among other feedstock repos.