
Show HN: SNAFU – Python Distribution Manager for Windows - uranusjr
https://github.com/uranusjr/snafu
======
PaulHoule
Why not just use Anaconda?

~~~
uranusjr
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.

[1]:
[https://gist.github.com/datagrok/2199506](https://gist.github.com/datagrok/2199506)

[2]:
[https://github.com/conda/conda/issues/626](https://github.com/conda/conda/issues/626)

[3]:
[https://www.python.org/dev/peps/pep-0397/](https://www.python.org/dev/peps/pep-0397/)

