When an environment changes python versions (e.g. from 3.9 to 3.10), the conda-pip installed packages will have to be reinstalled for the new version too. Usually, conda does that automatically as part of the solve and noarch: python handling, but since right now we are not injecting that metadata, then they will be missed.
I see two solutions:
Enhance the post-command hook so we uninstall and reinstall the relevant PyPI packages (we are not keeping track right now!)
Convert all PyPI wheels to conda packages (maybe via conda2whl?) so this is handled by conda proper. However, this is only feasible for noarch-y packages (py_any). Python specific builds will still need to happen, which might result in solver conflicts unless we anticipate the need for new whl2conda conversions... catch 22!
Maybe the solution is a hybrid approach, but for now I think the first option is more robust.
When an environment changes
python
versions (e.g. from 3.9 to 3.10), theconda-pip
installed packages will have to be reinstalled for the new version too. Usually,conda
does that automatically as part of the solve andnoarch: python
handling, but since right now we are not injecting that metadata, then they will be missed.I see two solutions:
conda
packages (maybe viaconda2whl
?) so this is handled byconda
proper. However, this is only feasible for noarch-y packages (py_any). Python specific builds will still need to happen, which might result in solver conflicts unless we anticipate the need for new whl2conda conversions... catch 22!Maybe the solution is a hybrid approach, but for now I think the first option is more robust.