You are right on point. There is actually a small section in documentation about this, but I wasn’t sure if anyone would be interested and didn’t put in much effort. Now I know there is! [edit: docs updated]
Anaconda was my tool of choice for a long time, but eventually I decided it was not good enough (for what I need; it is wonderful in many other ways). The tipping point is that Anaconda manages Python versions similar to virtualenvs, by manipulating PATH and other environment variables, which is the wrong way to do it, [1] and doesn’t work in Powershell (being so shell-dependent) without some tweaking. [2]
There are also no simple way to launch Python for a given version. I don’ think there is a way to run a particular version of Python in Anaconda with just one command (except typing the absolute path to python.exe, of course). You always need to activate the environment (and remember to deactivate afterwards).
My current position also requires me to answer questions from many not-so-experienced Python developers. For whatever reason most of them have a hard time wrapping their heads around the activation-deactivation thing. Pipenv saved them from managing virtualenvs, but Anaconda’s environment is equally problematic. But this is just my personal experience and might not be universal.
I still like Anaconda a lot, but its Python version management tooling is simply not good enough. They seem to conform to PEP 397 [3] and can be discovered through the registry as well, so I do plan to look into whether it is possible to support installing/managing Anaconda distributions with SNAFU, so I (and other users) can get the best parts of both.
2 comments
[ 3.1 ms ] story [ 15.1 ms ] threadAnaconda was my tool of choice for a long time, but eventually I decided it was not good enough (for what I need; it is wonderful in many other ways). The tipping point is that Anaconda manages Python versions similar to virtualenvs, by manipulating PATH and other environment variables, which is the wrong way to do it, [1] and doesn’t work in Powershell (being so shell-dependent) without some tweaking. [2]
There are also no simple way to launch Python for a given version. I don’ think there is a way to run a particular version of Python in Anaconda with just one command (except typing the absolute path to python.exe, of course). You always need to activate the environment (and remember to deactivate afterwards).
My current position also requires me to answer questions from many not-so-experienced Python developers. For whatever reason most of them have a hard time wrapping their heads around the activation-deactivation thing. Pipenv saved them from managing virtualenvs, but Anaconda’s environment is equally problematic. But this is just my personal experience and might not be universal.
I still like Anaconda a lot, but its Python version management tooling is simply not good enough. They seem to conform to PEP 397 [3] and can be discovered through the registry as well, so I do plan to look into whether it is possible to support installing/managing Anaconda distributions with SNAFU, so I (and other users) can get the best parts of both.
[1]: https://gist.github.com/datagrok/2199506
[2]: https://github.com/conda/conda/issues/626
[3]: https://www.python.org/dev/peps/pep-0397/