Open mfansler opened 5 years ago
This is a great idea. You might be interested in our work on standalone executables: https://repo.anaconda.com/pkgs/misc/conda-execs/
Those aren't perfect because they don't handle activation and things like that yet. They work great for creating, installing, and fixing broken environments, though. With those EXE's we can also set environment variables for better isolation in ways that we can't really do with user-level installations, because they would potentially be too disruptive. Things like ignoring PYTHONPATH, PYTHONHOME, and setting up the special DLL search order on windows.
This is an area we definitely intend on continuing to improve. The code for creating the standalones is at https://github.com/anacondarecipes/conda-standalone-feedstock if you're interested in looking at it and/or improving it. Long-term, we'd really like to port most of conda to a truly standalone program (probably rust) and that will further simplify these isolation problems.
@msarahan That's great to hear and thanks for the feedback! Those execs are super useful to know about. I frequently encounter users on StackOverflow with broken Condas and typically they end up reinstalling, so it's good to know there's an alternative.
Too many users bork their installs or run into extreme
conda update conda
issues. I think the propensity for such problems stems from the fact that Anaconda keeps theconda
package in the base env where users tend to install lots of packages (and frequently withpip
) leading to unstable envs. A simple solution to this would be to keep theconda
package in a non-base env, that would not be the default location to install. Even better would be to make this env protected in some way, such that only theconda update conda
command would actually alter it.