constructor
constructor copied to clipboard
Revisit uninstallers
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.