It's almost complete with the title. If you find that Anaconda has too many extra packages, you only need to install the packages that Miniconda needs.
Articles on building a Python environment are posted regularly for beginners. And I think many of them also have Tensorflow or Pytorch installed with them.
CUDA is a problem in building an environment. You need to select and install the CUDA version and the Tensorflow and Pytorch versions correctly.
I think this has the following annoyances.
--It is troublesome to simply check the corresponding version and install it. ――By the way, installing CuDNN is also troublesome. --I can't upgrade the version of Tensorflow or Pytorch --Changing CUDA versions (path setting) is troublesome when you want to switch between multiple versions of Tensorflow and Pytorch.
Anaconda solves these hassles.
CUDA is also linked as a dependent package of Tensorflow and Pytorch, so the appropriate version is automatically selected and installed. In addition to CUDA, you can also install tools such as git and cmake, which is useful even if you do not have root privileges.
Anaconda also has a virtual environment feature for coexisting multiple Python environments. With Anaconda, CUDA is installed inside the virtual environment, so multiple CUDA environments can coexist. At this time, you will not have to worry about setting the CUDA path.
It seems that not only the virtual environment I tried to install with pip but also other virtual environments are broken together. Therefore, there is an argument that you should create a virtual environment with pyenv and install Anaconda on it. (In pyenv, each virtual environment is completely independent, but in Anaconda, the packages installed in the virtual environment are hard-linked, which affects other virtual environments as well.)
By the way, I have never corrupted the environment with pip, but I have had it corrupted due to a bug in Anaconda's package manager conda.
Please note that this is for people who use Tensorflow or Pytorch at universities or companies.
There are pyenv and pipenv, but I haven't investigated them at all. If there is a better way, please teach me.
Opinions, counterarguments, comments, etc. are welcome. In particular, again, if there is a better way, please leave a comment or post an article.