#28895 The dependency story is not flexible enough.
I understand the desire to have reproducible builds.
However, there's at least one use case, which is Rubin Observatory's (where I work), that this does not work at all well for.
The Rubin Science Platform's Notebook Aspect is, fundamentally, a very large container built on top of a very complex stack of packages (and it uses conda rather than pip for the payload side of the container, which includes our science pipelines stack). Pinning things like exact patchlevel versions of boto and cryptography presents a problem for us, because those are packages that lots of other things depend on as well.
It may be the case that this is an impedance mismatch between the way conda interprets those pins (which is, that if any of those optional packages exist in the environment, they must be the exact pin specified) and your intent, which might be "our containers are precisely pinned, but if you need those packages for something else in your environment, feel free to do what you need." Or perhaps you really do mean, "yes, if you need cryptography, you must have that precise patchlevel," in which case, I guess all I can do is say, "did you consider this use case? If the answer is yes, and…