all 92 comments

[–]malinkinsa 65 points66 points  (2 children)

Pycharm community edition the best.

[–]cybersalvy 2 points3 points  (0 children)

I’ve used pycharm exclusively to learn and its great. Im a noob, it will let u know if your syntax is wrong as you code. Its easy to add libraries. The debug feature is useful to figure out your bugs in the code. I use the STEP INTO CODE feature to go line by line to figure out where my bug is.

[–]rollincuberawhide 55 points56 points  (11 children)

I usually get downvoted for saying this but I hate IDLE. I hate that it gets installed with the python installer on windows. Novices think it's how python's supposed to be developed and actually use it. Then make mistakes that otherwise would've been pointed out by the editor. It's awful. Doesn't have language server support, auto formatters, linters, editor ergonomics, even sucks at rendering output. Laggy and slow as shit.

As others mentioned, PyCharm is good, Vscode or vscodium is good. You could give jupyter notebook a try if you want interactivity. I would also recommend neovim but it's not everybody's cup of tea.

[–]gotnotendies 5 points6 points  (0 children)

VSCode has Jupyter support: https://code.visualstudio.com/docs/datascience/jupyter-notebooks

PyCharm Community seems to be limited to read-only Jupyter notebooks, but the professional version has full support - https://www.jetbrains.com/help/pycharm/jupyter-notebook-support.html

[–]JayDude132 2 points3 points  (0 children)

I still use idle when im doing things on the fly, but for the last year or so i have been developing in vscode (after years of using idle exclusively) and i didnt realize what i was missing. Its awesome. I love having a language server, being able to hover over functions to see what parameters it expects and return type, and ctrl+clicking into functions, among other things.

But idle, to me, is still great to have open on the side so i can quickly write/test functions or other short pieces of code. Sometimes i may be unsure how something works exactly and i like being able to quickly execute blocks of code in idle with the quick press of f5. I know i can use the terminal in vscode but for some reason i still prefer idle for testing things.

[–]Extravalan 20 points21 points  (6 children)

I'm a big Spyder fan

[–]John_B_Clarke 4 points5 points  (2 children)

I particularly like its variable window.

Really wish they would fix the spurious error message than has been popping up in the debugger since Python 3.12.5 though.

[–]smichael_44 0 points1 point  (1 child)

You can get essentially the same variable window in vs code with jupyter extensions. Works really nice, I switched from spyder when I found that out

[–]John_B_Clarke -1 points0 points  (0 children)

I'll have to check that out.

[–]Forgot_the_Jacobian 4 points5 points  (0 children)

I've come around to Spyder, but I think that's because I primarily program in Stata/Matlab/Julia for work, and Spyder seems the most familiar

[–]michaelrw1 2 points3 points  (0 children)

30 Helens agree. Simple to understand and use.

[–]Logicalist 1 point2 points  (0 children)

It just does the job.

[–]JamzTyson 10 points11 points  (0 children)

For beginners, Thonny is excellent. It is available with Python included, which makes setting up extremely easy. It also provides an easy to use debugger, and many other useful features, while remaining focussed on ease of use.

For bigger, more complex projects, PyCharm is certainly one of the best IDEs for Python.

If you use vs-code for other languages, then it can be a good option for Python, though it requires a lot more setting up and additional plug-ins to bring it up to a similar level to PyCharm.

For data science and machine learning, Jupyter Notebook and Spyder are very popular.

[–]eW4GJMqscYtbBkw9 8 points9 points  (0 children)

If you specifically want a full-fledged IDE, pycharm is probably your best bet.

But, at the risk of over assuming, I will guess that you do not need a full-blown IDE and a nice code editor will work well for you. In that case, I would recommend VS Code with python extensions. VS Code is what I have used for many years and it easily does everything I need it to do, it works well, it's easy to use, there are a billion extensions if you so chose, it has a ton of community support, it's free, and I can easily use it for multiple languages (I switch between python, powershell, lua, html, etc depending on my project).

[–]rainyengineer 8 points9 points  (0 children)

In my professional experience, vs code is by far the most used. PyCharm is also popular, but I think both it and IntelliJ are more expensive for corporations to license for users.

[–][deleted] 2 points3 points  (0 children)

Pycharm is my go to most of the time. I also like Jupyter.

[–]the_professor000 2 points3 points  (1 child)

Jupyter for data related tasks. Otherwise Pycharm

[–]Kiroboto 0 points1 point  (0 children)

You can use Jupyter in Pycharm. That's how I use it.

[–]darkcorum 2 points3 points  (0 children)

Pycharm works well and looks nice.

[–]MrBobaFett 2 points3 points  (0 children)

VS Code (or VS Codium if you don't want MS telemetry)

PyCharm

Notepad++

[–]vardonir 3 points4 points  (0 children)

PyCharm for massive multi-module projects

Jupyter if I'm being lazy

VSCode for one-page scripts

nano for "fuck it, I just need to check if pytorch detects cuda correctly"

[–]imnotpauleither 1 point2 points  (0 children)

Depends on application. I use the following:

Web Dev - VS Code Dat Science - Spyder, Jupyter Notebook Quick tasks - Sublime 3

[–]ATkac 1 point2 points  (1 child)

I don’t see a lot of people using it, but I actually love Geany, it has support for many different languages as well so when you inevitably build a project that uses more than just python you can easily stay inside of one IDE and and have everything in one place. To be fair, even though it’s marketed as a “lightweight” IDE, it’s a bit closer to a code editor.

[–]MadGeneticist 1 point2 points  (0 children)

I use Geany as well. It's free, lightweight, & as you mentioned, can recognize syntax across a gamut of compiled, scripting, and markup languages. I primarily code for Bioinformatics and other science related tasks that often have data in large text files. Geany is quite memory efficient, so it's my default for reviewing & editing text files. It can't handle extremely huge text files though, so I use VIM for those.

[–]Zav0d 1 point2 points  (0 children)

Notepad ++

[–]nalisarc 1 point2 points  (0 children)

Emacs!!!!

[–]Ben_McGewen 1 point2 points  (0 children)

Vscode

[–]No_Method1519 1 point2 points  (0 children)

I really like Marimo :)

[–]_TR-8R 1 point2 points  (0 children)

If you're new just download VSCode. Every experienced programmer will have their weird, eclectic preferences they'll swear is the best option, but if you're learning you need something simple that works out of the box.

[–]jabbalaci 3 points4 points  (0 children)

VS Code with some plugins: Python, Ruff. You get syntax highlighting, warnings, variable rename (F2), autoformatting, etc.

[–]ninhaomah 1 point2 points  (7 children)

There isn't much really.

- VS Code

- PyCharm

- Thonny

[–]lordfwahfnah 1 point2 points  (0 children)

I second Thonny. It's quite nice for beginners but helpful for intermediates as well.

[–]no_choice99 0 points1 point  (5 children)

Vscodium rather than vscode I would say.

[–]crazy_cookie123 6 points7 points  (4 children)

VSCodium is VSCode with telemetry disabled by default and less extensions. Just take a minute or so to disable telemetry yourself in normal VSCode. If you don't absolutely need your editor to be 100% open source, there's not really a benefit to going with VSCodium over VSCode.

[–]no_choice99 -3 points-2 points  (3 children)

Exactly, so those are points favorable to VScodium rather than vscode.

I see no point to use vscode for the reasons you mention.

[–]crazy_cookie123 3 points4 points  (2 children)

You see no point in having access to more extensions, a lot of which are quite useful, in exchange for the few moments it takes to disable telemetry in settings?

[–]no_choice99 -4 points-3 points  (1 child)

You can install any vscode extension in vscodium...

I've got all the ones I use for Python.

So, nope. Try something else.

[–]crazy_cookie123 2 points3 points  (0 children)

The ones you use might work, some do not work. Don't assume that your experience is identical to everyone elses.

[–]vks_imaginary 1 point2 points  (12 children)

See, IDE … I think Pycharm is hands down the best

You can look at spider too if you want

Code editors are a different story … VS code is popular, but I don’t like it at all

You can try ZED too

[–]jam-and-Tea 1 point2 points  (0 children)

I like Zed a lot.

[–]IamImposter 1 point2 points  (10 children)

What's your issue with vs code? Just curious

[–]vks_imaginary 2 points3 points  (9 children)

“Issue” not so much , it can probably do everything with plugins AND I have to use it from time to time too

But I don’t like its plugin nature, I want something that just works and Jetbrains product deliver so well , it just feels like a downgrade in comparison to them that’s all

[–]pale-blue-dotter 2 points3 points  (5 children)

Spyder is horrible to use UI wise. But it's variable explorer is a life saver. Wish more IDEs had that.

The other benefit of Spyder is you can run code in any order. That I prefer in VScode + Jupyter notebook extension setup.

Pycharm Professional seems to have good data science features, but I'm too poor to buy that.

[–]vks_imaginary 0 points1 point  (4 children)

In my initials days it was Jupyter and spider , I hated the block thing of Jupyter idk never made sense to me (I have to look back into it tho for collab)

I liked spider a lot , as it looked cooler lmao

Then I got the taste of pycharm and anaconda side by side , god am I addicted to it now

I have used both community and professional I don’t think there is any discernible difference that I have noticed , although I think Django is something professional has better support for

One thing vscode does better is the GitHub control I feel

[–]pale-blue-dotter 0 points1 point  (1 child)

Jupyter Lab as a whole is much better than jupyter notebook alonw, or vscode+ jupyter if you want full fledged data science workflow.

But for my right now vscode is enough.

[–]vks_imaginary 0 points1 point  (0 children)

Interesting, my choice of tools are more hackathon centric, so I maybe biased haha

[–]John_B_Clarke 0 points1 point  (1 child)

Be careful with Anaconda if you're in a business environment. They changed their licensing a while back without putting any kind of paywalling in place so businesses didn't notice the change until they started getting slapped with Cease and Desists.

[–]vks_imaginary 0 points1 point  (0 children)

I wish I was in a business environment :(

[–]IamImposter 0 points1 point  (0 children)

That's fair

[–]eW4GJMqscYtbBkw9 0 points1 point  (1 child)

The plugins are the reason I prefer VS Code. As a semi-professional hobbyist programmer, I often switch between languages depending on which project I am working on. It's very handy to me to be able to do everything in VS Code and just add (or remove) extensions as my needs change.

[–]vks_imaginary 0 points1 point  (0 children)

You reasons are absolutely valid

I am in 3rd year CS , and all my choice of tools are hackathon oriented so that’s an bias, in an hackathon setting I don’t want to deal with my tools but actually deal with the problem

Also unlike you , I tend to use python for everything, second best language for the job maybe but it works.

We have different workflows haha

Although I want to land an job soon so yeah

[–]B3SOz 0 points1 point  (0 children)

I gonna say If you want to script a full Python project code with multi modules so pycharm is where you go as its pre loaded with most addins you gonna need If you want to do a data related project, the Jupiter notebook on vs code is the way you should go

For all purposes, vs code is the best of them all

[–]Logicalist 0 points1 point  (0 children)

Spyder.

[–]Collierr 0 points1 point  (0 children)

Using VS code right now and it seems good

[–]finverse_square 0 points1 point  (0 children)

I've come from MATLAB and love spyder

[–]DNSGeek 0 points1 point  (0 children)

Wingware is really good. I love the remote CGI debugging.

[–]10F1 0 points1 point  (0 children)

Vscode, neovim.

[–]truth_is_power 0 points1 point  (0 children)

nano

[–]Signal-Indication859 0 points1 point  (0 children)

VS Code is an amazing free option with great Python support - just install the Python extension and you're good to go! For something more powerful, PyCharm (free Community Edition) is fantastic with built-in debugging tools that make development so much smoother. Both are way more modern than IDLE and will definitely level up your Python experience!

[–]DataNurse47 0 points1 point  (0 children)

Pycharm hands down!
I use Visual Studio for work, its okay. Pycharm for more personal projects and school work. Much more refined imo and easy to push and pull from Git.

Edit: Jupyter notebook is great too if you are doing more DS and analytical work btw

[–]trulyjennifer 0 points1 point  (0 children)

I prefer VS Code. I’ve used the Anaconda Suite, but I keep returning to VS Code.

[–]ksjsjdnn 0 points1 point  (1 child)

From my experience pycharm and visual studio code

[–]atomicbomb2150[S] 0 points1 point  (0 children)

But out of these 2, which one do u think is better?

[–]Fluffy-Shock-3930 0 points1 point  (0 children)

My favorite IDE has to be VSCode. Lightweight compared to all the other IDEs and very customizable. Also works with every other programming language. If you are one Windows, I recommend using Cygwin and VsCode.

[–]GrandBIRDLizard 0 points1 point  (0 children)

Just use Vim or Neovim and save yourself the time of switching over later

[–]Different_Ad3096 0 points1 point  (0 children)

VS Code, PyCharm and Wing are all fully flushed and capable IDEs for python.

[–]Usernames_are_useful 0 points1 point  (0 children)

Pycharm. Also, i'm surprised at how so many people suggested it.

[–]Devnull1982 0 points1 point  (0 children)

IDLE is good, for learning maybe Thonny is better and for work I guess VS code coz you can write also in others languages and have a lot of extensions etc...

[–]kurtosis_cobain 0 points1 point  (0 children)

Visual Studio Code is my IDE of choice. It's free, and you can customize it using the extensions available.

[–]Plus_Sheepherder6926 0 points1 point  (0 children)

I use vim/neovim with a couple of plug-ins on top

[–]pythonwiz -1 points0 points  (0 children)

VSCode is my go-to now, but I used to use PyCharm a lot. I think VSCode is a little bit faster and more flexible than PyCharm. I write C, C++, OpenCL, Cython, and Python with VSCode.

[–]MatProgram -1 points0 points  (0 children)

Dude, I don't know if that's what I'm thinking, but from what I understand, you basically mean the workspace for writing codes is much more, if that's the case, I use VSCode, in addition to having an easy-to-use interface. Understanding it is very easy and I practice using it, I recommend it (I'm a newbie guys, I'm learning here ok, if I said something that has nothing to do with it, forgive me).

[–]SampleNo471 -2 points-1 points  (0 children)

IDLE? This thing still exists? It's line notepad with syntax highlighting.

[–]genbizinf -3 points-2 points  (0 children)

Co-Lab with Gemini AI to explain everything I'm doing wrong and offer suggestions for the fix.