Jupyter Standalone Might Just Be Better Than Anaconda | by Emmett Boudreau | Towards Data Science

If you’ve been in the data science space for even a fraction of a second, you’re probably well aware of Anaconda navigator, and Jupyter notebook. They are both great tools for data-scientists when they need cell-by-cell execution on a virtual kernel. But is it possible to drop Anaconda Navigator without dropping Jupyter?
At the roots of Anaconda is environment virtualization. Of course, this can be seen as a huge advantage to using Anaconda over standalone Jupyter. Additionally, Anaconda comes with the “ Conda” package manager, which isn’t quite as expansive as the regular Python Package Index.
As a result of these features, to an inexperienced soul, the startup learning curve of Anaconda Navigator isn’t as fierce as setting up docker images and virtual environments to run Jupyter out of. However, a significant disadvantage of Conda is the lack of the regular package index. Therefore, it is possible through only a pretty challenging loophole to install traditional Python packages that haven’t been published to Conda. For someone that uses a lot of APIs and assorted packages, this, of course, is a problem.
With that in mind, Anaconda certainly is a great tool for Data Scientists, with extension applications like VSCode, Spark managers, and much more all easily implemented into the navigator to work inside of your Conda terminal, it’s easy to see why this is a common choice among Windows developers. Interestingly, a lot of my Windows friends use their Conda REPL like a terminal, so the value is certainly there for them.
But with the ease of use on Windows with Anaconda, what is to come of the situation on operating systems where we already have a package manager and a terminal to push commands through? Well, for me personally, I much more prefer Jupyter SH, and hopefully I can justify myself in my pros and cons to this approach.
Although we all-in-all lose our Conda Environment, we retain any virtual environment we utilize when we launch from the terminal, so if I were to
$ -  source env/bin/activate
and then run Jupyter Notebook,
$ (env) - jupyter notebook
I would retain my virtual env pip environment. For obvious reasons, this is a great way to manage your dependency ecosystem inside of Jupyter.
Another reason I love using Jupyter over Anaconda is folder selection, anytime a notebook is buried deep inside a maze of folders in your computer, it can be very hard to get said notebook open in Jupyter. Jupyter’s file interface isn’t exactly well known for being flawless in any sense of the word, although it certainly gets the job done. Using standalone Jupyter with SH, I can open a terminal in any location on my computer and type “ Jupyter Notebook,” and already be navigated right to the file that I would like to tamper with.
I also am a strong Docker user, and using Conda with Docker can be quite a chore... However, setting up a completely virtual operating system running inside of regular Jupyter SH with Docker is fluid and super easy.
Although these opinions are certainly not universally agreed upon, I use Jupyter Standalone because I love the versatility. I appreciate Anaconda, and have no particular yield to installing it other than that I don’t need it. It doesn’t really matter how you go about installing Jupyter as long as you don’t do it through the snap package manager (it breaks everything.)
And with that in mind, I’m curious as to how many people use Jupyter in standalone versus using it with Anaconda, and what their thoughts may be on the experience. They are both fantastic tools and illustrate that sometimes there are two completely different ways to do the exact same thing.