conda / conda/constructor

Revisit uninstallers

Open
#642 6 comments 3 reactions 2 assignees Claimed by @marcoesters View on GitHub
stale::recovered type::feature
Dominant language
Python
Stars
497
Forks
181
Avg merge
1d 16h
Merged PRs (30d)
17

Description

### Checklist

- [X] I added a descriptive title
- [X] I searched open requests and couldn't find a duplicate

### What is the idea?

Research the best way to implement uninstallers. Currently, only Windows provides some, and they do not do all tasks in the conda-canonical way:

- Files are batch removed without running pre-unlink logic
- Shortcuts are removed by manually calling some menuinst logic
- Windows Registry does not use conda init --reverse (#572)
- I am not sure if the .condarc files are cleared up (related to #568)
- Environments are not removed from `~/.conda/environments.txt`

The uninstallation logic is not present on Linux or macOS either.

### Why is this needed?

Better uninstallation processes.

### What should happen?

The system should be left in a functional state, with no lingering files or configuration.

### Additional Context

Uninstallation times have been previously reported as slow, so we might need to balance speed and correctness. See https://github.com/conda/constructor/issues/168. It's mostly UI related, so as long as the output is kept in check, we should be ok. Nevertheless, timings should be analyzed.

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.