conda / conda/constructor

(RFC) How to update existing installations

Open
#679 6 comments 0 reactions 1 assignee Claimed by @marcoesters View on GitHub
stale::recovered
Dominant language
Python
Stars
497
Forks
181
Avg merge
1d 16h
Merged PRs (30d)
17

Description

The update logic in the installers is a bit convoluted right now, and I don't think it's working at all.

The background is that previous iterations of constructor would consider the target environment (if not empty) as part of the fresh installation. However, at some point, the installer was instructed to error if the target directory was not empty (by default). Adding the `-f` or `-u` switches in the shell installer would somehow allow that, but there were no guarantees it would succeed. I am not aware of similar switches on Windows installers.

These days, the installer does not solve the target environment, it simply runs an explicit install, overwriting as needed if `-f` was passed.

I think that's still the right approach (happy to discuss that, though), but some users are confused by [how to update the installation](https://github.com/conda-forge/miniforge/issues/459#issuecomment-1568111984). There are two options:

- In installers providing a `conda` deployment, `conda update -n base conda` should suffice assuming the `base` environment is tractable.
- If `conda` is not involved, then it's a matter of uninstalling / removing and installing the new one.

I am thinking that maybe we could provide either a custom field to change the default message, or at least parameterize the message depending on whether `conda` is included in `base` or not. However, some apps might not want to mention `conda` at all to keep their delivery story simpler for their users (e.g. Spyder or napari).

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.