MSS
MSS copied to clipboard
Do not assume that MSS is installed with conda/mamba
Some code assumes that MSS is installed with conda or mamba. This happens e.g. here: https://github.com/Open-MSS/MSS/blob/f5034357cef3602afdb59ece9be683a990896c76/mslib/msidp/idp_conf.py#L40
Also, based on a rough skim of the code, the updater seems to assume that if conda is available in the PATH then MSS must have been installed with it. This is not guaranteed either.
Since pixi etc. we should also rethink the updater. I am not sure if we can/want to support any new install process. Maybe we should switch this in an info, "there is a new version", "your version is outdated"
I don't think we should add support for other package managers to auto-update (and might even drop support for conda/mamba), since that is a concern for the package manager itself. Right now the information on what the latest version is is taken from conda/mamba, but that could also be a query to GitHub's API for Releases, at which point a "there is a new version" check would be completely independent from conda/mamba.
An update by the builtin updater from 8.3.5 to 9.2.0 is not working because we released pinnings and privious pinned libraries removed dependencies.
A workaround is to remove all conflicting packages and the rules defined by them by
conda remove mss qt pyqt pyqt5-sip pyqt-impl --force
and then install by mamba
mamba install mss==9.2.0 python
This will be on other package managers also different. We should shift a howto to the documentation and inform users on updates.
This is a problem specific to conda-style environments and it is a non-issue with any reasonable package manager as previously installed, but no longer required, dependencies should be automatically removed from usage.
E.g. pixi global upgrade mss simply does a reinstall into a fresh environment, so it doesn't have this issue. A nix derivation fully specifies all dependencies and a new instance of that derivation using different inputs is completely separate from the old one. Guix does it similar to nix.
The task we identfied are merged. We can reopen it, when we find another one.