MSS icon indicating copy to clipboard operation
MSS copied to clipboard

Do not assume that MSS is installed with conda/mamba

Open matrss opened this issue 1 year ago • 2 comments

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.

matrss avatar Feb 29 '24 08:02 matrss

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"

ReimarBauer avatar Mar 01 '24 19:03 ReimarBauer

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.

matrss avatar Mar 11 '24 11:03 matrss

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.

ReimarBauer avatar Aug 28 '24 09:08 ReimarBauer

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.

matrss avatar Aug 28 '24 09:08 matrss

The task we identfied are merged. We can reopen it, when we find another one.

ReimarBauer avatar Sep 06 '24 08:09 ReimarBauer