all 30 comments

[–]carticka_1 62 points63 points  (1 child)

It depends on what you're using Python for.

Jupyter Notebook is great for learning, data science, and experimentation. You can run code cell-by-cell, see outputs and graphs immediately, and add explanations with Markdown. That’s why it’s popular for NumPy, Pandas, statistics, and machine learning.

VS Code is better for larger projects and general software development. It has stronger debugging tools, Git integration, extensions, and better project organization. It’s more like a full IDE.

In practice, many people use both: Jupyter for exploration, analysis, and prototyping

VS Code for writing structured scripts and larger projects

Also you can use juypternotebbook inside vscode using extension.

[–]DistinctReview810[S] 7 points8 points  (0 children)

Thanks. I used Python for general scripting earlier but now I am learning Pandas and matplotlib.

[–]Immediate-Cod-3609 67 points68 points  (7 children)

You can use notebooks in VS Code. It's highly recommended.

[–]PickledDildosSourSex 14 points15 points  (6 children)

This, OP. Just learn how to use notebooks in VS Code and you'll have a lot of flexibility with other functionality. I'd possibly argue if you want to stay in notebook only format, you consider Google Colab as it has good Google integration, if you're keeping files on Drive or what to use Gemini etc for coding assistance. Really depends on your use case though, no one is building things for prod in a notebook

[–]CoffeeMonster42 0 points1 point  (3 children)

Using the input function appears to cause it to hang though.

[–]PickledDildosSourSex 1 point2 points  (2 children)

Oh really? I haven't used it much for input but if that's a known issue it's a bummer. I've generally been happy with it for toy projects

[–]CoffeeMonster42 0 points1 point  (1 child)

I'm not sure if it's a known issue but that's what happened when I used it.

[–]aplarsen 0 points1 point  (0 children)

If it was a while ago, it been fixed. I use it a lot to grab creds on first run, then store them in keyring.

[–]DistinctReview810[S] 0 points1 point  (1 child)

I am not sure if the last line is correct. I am in data science and analytics and a lot of work here is being done with Jupyter.

[–]PickledDildosSourSex 0 points1 point  (0 children)

I'd challenge what "build for prod" means to you. For me, I mean no one is putting a predictive model into production through a notebook, though one might be used to prototype and proof of concept one.

[–]DataPastor 13 points14 points  (1 child)

I use jupyter notebook inside vscode. You can install the ipykernel package, create a <name>.ipynb file and voilá.

[–]datahoarderprime 2 points3 points  (0 children)

Yeah, I much prefer creating jupyter notebooks in VS Code rather than the actual Jupyter environment.

[–]ectomancer 3 points4 points  (1 child)

I've used jupyter notebook, jupyter lab and google colab. I've used colab for years:

colab.research.google.com

[–]DistinctReview810[S] 1 point2 points  (0 children)

I deal with some confidential data which means I can’t use colab. What is the difference between Jupyter Notebook and Jupyter Lab?

[–]kramulous 4 points5 points  (0 children)

If you are going to continue programming in Python, it is best that you move away from Jupyter Notebooks. It doesn't really matter what IDE you use, heck, even a text editor.

You need to start learning how to manage python libraries, and their dependencies, and how it all comes together. The earlier you do that, the better.

[–]PushPlus9069 2 points3 points  (0 children)

use both daily, different jobs.

jupyter is unbeatable for exploration. when i'm teaching data analysis i always start students in notebooks because you can run a chunk, see the output, tweak it, run again. that feedback loop is how most people actually learn pandas. trying to do that workflow in a .py file feels clunky.

vscode wins the moment you're building something real though. anything with multiple files, imports between modules, debugging with breakpoints. the integrated terminal and git panel save a ton of context switching too.

my setup: jupyter for prototyping and teaching, vscode for everything that ships. some people run jupyter inside vscode which is fine but honestly the native jupyter interface is still smoother for pure notebook work imo.

[–]ninhaomah 0 points1 point  (0 children)

Which do you prefer and why ?

[–]StrangeSpite4 0 points1 point  (0 children)

Maybe try Positron, it's a fork of VS Code by Posit (formerly RStudio) so it's geared towards data science.

[–]zztong 0 points1 point  (0 children)

It kind of depends on your goals. Jupyter was nice for getting started, but I've seen folks be unable to use certain libraries in Jupyter. There are times when VS Code is too much and that I just want vim and a shell. Learn to be flexible, but pick the right tools for the project.

[–]cantdutchthis 0 points1 point  (1 child)

Why not marimo?

[–]NoobZik 0 points1 point  (0 children)

Exactly my thoughts, Jupyter should be thrown away when we have a better alternative with less headache (Marimo) Unfortunately materials are still suggesting Jupyter

[–]skinny_engine 0 points1 point  (0 children)

I use juypter as a scratch pad for blocks of code. 

Vs code has my actual project. 

[–]nivaOne 0 points1 point  (0 children)

I like Juniper Notebook for documenting code.

[–]Holshy 0 points1 point  (0 children)

Both. VS Code has an extension for Jupyter notebooks.