Jupyter (Lab) vs Colab vs VScode vs PyCharm

Nick Anthony
5 min readAug 16, 2020

Edit: No Deepnote comparison

Hello there! Today we are going to be discussing the difference between the top IDEs for Python right now. I could go into detail about all of these platforms and each of their benefits and drawbacks (which they all have) BUT I think it would be more fun to trying something different and instead compare key components across each platform and rank them from a Data Science perspective. I also want to note here specifically that I will be referring to Jupyter Lab, not Jupyter Notebook since the latter is not really an IDE-like interface.

Without further ado, our categories!

  1. Data Viewer
  2. Virtual Environment compatibility
  3. Intellisense
  4. Accessibility

Let’s get started!

Data Viewer

Each of these platforms has some form of data-viewer… wait, except Colab and Jupyter(sort of). A data-viewer here is something that showcases your current active variables/data environment NOT a csv-viewer. So that makes our bottom 1 easy. This is actually my biggest gripe with Colab. Next is Jupyter which doesn’t have a data viwer built in, BUT has the data-viewer notebook-extension which is actually pretty nice. But due to it not being built in (not easily accessible) Jupyter gets downgraded. Lastly we have VScode and PyCharm. These both provide top notch data-viewers that have options to fully open data-frames in new tabs/windows. I am going to give the edge to VScode because its data-viewer is at the top and that just feels better to me personally. I know this is a very dumb difference to make, but otherwise I hardly notice any differences between the two viewers other than preferring their aesthetics (which is not the topic of this conversation).

Results

VS Code > PyCharm > Jupyter > Colab

Virtual Environment Support

Up next is virutal environmetns. Yes… venvs. The bane of most python programmers’ lives. Hand’s down our winner here is PyCharm which has support for creating venvs either using conda or venv from the IDE interface. Next will be VS code because it supports easily selecting a python interpreter to use in your notebook, but does not support creating the environments themselves.

The next one here may surprise you… Colab. Yes Colab. Even though Colab doesn’t even natively support or utilize venvs, their solution is so much better! Each kernel/notebook you fire up has most of the packages you will EVER need, especially for data science work! This is amazing, prerequistes and dependency issues, solved! This does have other fallbacks (see below) but its enough to push Colab ahead of Jupyter in this category.

After Colab it is pretty simple to rank Jupyter (which requires the nbextension for ipykernel).

Results

PyCharm > VS Code > Colab > Jupyter

Halfway through and it’s looking good for the ‘powerhouse’ IDEs.

Intellisense

This is another category near and dear to my heart, IntelliSense. As a data scientist sometimes I find myself using packages and not remembering specific methods or their parameters and it is so helpful to have intellisense and documentation readily available. Also inside this category I am going to throw in syntax highlighting as I think it is in a comparable category as far as productivity is concerned. Fortunately this argument is very straightforward to me. PyCharm’s intellisense is superior and, frankly, amazing. VS Code, especially with their recent release of PyLance (which works inside your notebook!) comes very close! Then comes Colab with some highlighting and auto-completion followed finally by Jupyter.

Results

PyCharm > VS Code > Colab > Jupyter

Accessibility

Last category! Accessibility. Here, I am not referring to the traditional term, but more, how simple is it to get a Hello World notebook up and running. I stress notebook here because I am not referring to an entire project. Colab would be, based on my experience, quite difficult to manage an entire project structure on. BUT it wins here, HANDS DOWN because of its simplicity for simply navigating to a url and starting coding immediately! No environment management required, no downloads required, nothing. Now, given that the rest of the platforms require a download, we can rank them. VS code comes in a close second just ahead of PyCharm given that you can create a notebook and starting coding in both but VS code’s command pallate is a little simpler experience. Finally closing out with Jupyter which requires itself to be installed then activated and navigated from the terminal AND browser.

Results

Colab > VS code > PyCharm > Jupyter

Overall

Copying and pasting the results from above we can see:

Data Viewer

VS Code > PyCharm > Jupyter > Colab

Virtual Env

PyCharm > VS Code > Colab > Jupyter

Intellisense

PyCharm > VS Code > Colab > Jupyter

Accessibility

Colab > VS code > PyCharm > Jupyter

Which, providing points, 4 for 1st and 1 for 4th, gives us the following totals:

  • PyCharm: 13
  • VS Code: 13
  • Colab: 9
  • Jupyter: 5

OR average points:

  • PyCharm: 3.25
  • VS Code: 3.25
  • Colab: 2.25
  • Jupyter: 1.25

I think this showcases the best use-case for each item as the field has evolved. Unfortunately, in my opinion, Jupyter has not kept up with other IDEs despite basically inventing the notebook format. Colab is great to get a quick and dirty notebook up and running assuming you don’t need a bunch of specialized dependencies or other files. It also has an amazing collaborative suite that is so beneficial when working with even a small group. Then, what seems to be a never ending debate (I was honestly surprised these points were equal!) PyCharm and VS code come out equal and then you can choose based on the rest of your project needs. Here VS code’s lightweight nature actually benefits in not eating RAM from the notebook which may require significant amounts.

Ultimately I hoped this helped someone and if I missed anything or referenced any inaccurate information please leave a comment and let me know!

--

--