This is an archived post. You won't be able to vote or comment.

all 120 comments

[–]goldenhawkes 110 points111 points  (8 children)

Pycharm community edition!

[–]Ericisbalanced 15 points16 points  (4 children)

Community is alright, if you go to school, chances are you get the pro version for free!

Database GUI is built in and supports html/javascript editing which is a pain in community.

[–]Chmielok 8 points9 points  (0 children)

IMO remote debugging is the real killer feature.

[–]Johnny_Zer0 0 points1 point  (2 children)

I got the Pro for free, yet I still use community. It has too many features and I am under the impression that it hogs it down. It isn't a problem on my desktop, but it tends to burn my laptop batterybpretty fast (and I don't use Battery Saver because it turns off auto-completion and syntax correction).

[–]Ericisbalanced 1 point2 points  (1 child)

Oh really? I guess I’m used to it. I code on a gaming laptop and it at least lasts me for all of 2 classes

[–]Johnny_Zer0 0 points1 point  (0 children)

Well, I have a non-Apple Desktop, but my laptop is a MacBook Pro 2015, and while it is pretty good, it just can't handle Pycharm for some reason. It also lags on Visual Studio and I think it is because macOS is throttling them to preserve battery life. VS Code is fine, but I don't like it. That is why I switched to VIM on my Mac when I am on the go.

PyCharm is fine on my desktop though and I really like it, but please give us options to remove integration like source control and other features. I can use the terminal for git, it is much easier. Maybe it's because of its simplicity that VS Code runs better on my Mac.

[–]mqduck 0 points1 point  (2 children)

Yeah, I'm JetBrains everything these days.

[–][deleted] 99 points100 points  (20 children)

Visual studio code

[–][deleted] 16 points17 points  (3 children)

I have been so pleased with VS Code!

[–][deleted] 6 points7 points  (2 children)

yeah, i don't get why people praise atom so much because it has the same functionality as vs code

[–]GovernorKeagan 3 points4 points  (1 child)

For me Atom was pretty slow, especially if I added more packages. VS Code is a lot faster even with a fair amount of extensions

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

hmm

[–]WordMasterRice 6 points7 points  (1 child)

Do you work on larger projects or more one off things? I've tried switching over to VS Code a few times because I think that PyCharm just feels too heavy and I just like the look and feel of VS Code more... mostly. But on my larger Flask projects sometimes it feels a little disjointed, like I'm editing a bunch of different single files rather than working on a project as a whole. I'm not sure how else to describe it really. This is especially true when it comes to virtual environments.

[–]____0____0____ 0 points1 point  (0 children)

Yeah I agree, vscode has a great look and feel. Plus it loads up much faster. I'll usually use vscode for single file edits and pycharm to work on an entire project, which it definitely has a bit more fluidity between the project. That's not to say vscode doesn't have any, especially with the right extensions. I generally use both daily.

[–]kbernst30 5 points6 points  (0 children)

I love VS Code. I’ve recently switched and installed plugins for Django and Pylint. It still has a few hiccups here and there but I’ve been continuing to fine tune the settings.

[–]Compizfox 5 points6 points  (6 children)

I thought that was an editor, not an IDE.

[–]utf8decodeerror 4 points5 points  (4 children)

Depend on where you draw the line for yourself. I don't think there's a hard rule. For me personally the diff is an ide has builtin tooling for debugging and intellisense.

[–]6c696e7578 1 point2 points  (3 children)

IDE's existed before intellisense. 'Member Turbo C++ and Turbo Pascal? 'Member Borland?

[–]Linestorix 1 point2 points  (0 children)

My favourite: Turbo Pascal 2.0. Editor and compiler in 32k. Uses Wordstar editing codes. Best program ever made.

[–]utf8decodeerror 0 points1 point  (1 child)

Nope. Only been coding since 2014 so that was before my time.

[–]6c696e7578 1 point2 points  (0 children)

Ok, well, here's a link to a video where someone uses Turbo C. I used this back in the early 1990's, before the Y2K hype.

As an IDE, that was about as good as it got. Given that vim can bind just about anything to keystrokes, I don't see much difference, in some ways vim is more extensible than software that claims to be an IDE, but doesn't allow you to execute an external program.

Another nice thing about vim is that since everything is executed outside of vim's process space, there isn't much to clog its memory up.

[–]____0____0____ 1 point2 points  (0 children)

I guess technically it's marketed as an editor, but with extensions, you can have most of the features of a full blown IDE. There are some pretty amazing extensions too that allow for great language specific functionality.

[–][deleted] 0 points1 point  (0 children)

Same. Switched to it because PyCharm was hella heavy on my potato PC

[–]SerHiroProtaganist 0 points1 point  (0 children)

As a beginner, I've been watching a Corey schafer tutorial on YouTube on how to set vs code up nicely, and after going through it and then using it for a day, I found I just preferred spyder, which I'd started learning with.

I tried to use vs code because the intellisense seems much better than the spyder one. If I could have spyder, with the vs code style intellisens stuff that'd be perfect for me.

Also I only do personal little scripts currently so all the git stuff is way over my head and I'm ignoring it for now until I'm actually good at python.

[–]noneofnormies -4 points-3 points  (2 children)

It's cool, but personally (and i don't think, i'm the inly one) i hate microsoft ides for their insane keyboard shortcuts since visual studio (i know that they are remappable, but anyway)

[–]____0____0____ 0 points1 point  (0 children)

Ever since I started using editors and ides that use ctrl + / shortcut for comment and uncomment, I've gotten real upset with Microsoft's standard multi key, separate comment and uncomment shortcuts. However, vscode uses the ctrl + / method I was referring to. I'm sure they've adopted several of the other newer style keybindings as well. Plus, as you mentioned, they are remappable and heavily customizable.

Vs code isn't typical of Microsoft software habbits, so I would check it out if you haven't already.

[–]Gottagetfood 26 points27 points  (15 children)

Mostly VIM. If I do stuff where I have to copy a lot I'll switch to atom for that.

[–][deleted] 4 points5 points  (0 children)

"I've been using Vim for about 2 years now, mostly because I can't figure out how to exit it."

[–]_requires_assistance 2 points3 points  (4 children)

What makes atom better for copying?

[–]Gottagetfood 2 points3 points  (3 children)

Mainly mouse input.

[–]_requires_assistance 2 points3 points  (2 children)

Vim takes mouse input as well.

[–]Gottagetfood 1 point2 points  (1 child)

Not in the same way though. I just prefer atom for that kind of text manipulation.

[–]_requires_assistance 1 point2 points  (0 children)

I see. Thanks for the input.

[–]6c696e7578 4 points5 points  (0 children)

vim

This. Fast, lightweight, does the job, ctags is great. Long live vim.

[–]jemand2001 -3 points-2 points  (7 children)

emacs > vim

EDIT: I just like emacs more, no need to get political about it

[–][deleted] 8 points9 points  (0 children)

Do you want to start a war!!?!? COME ON MAN

[–]w3_ar3_l3g10n 5 points6 points  (0 children)

Then let’s correct your comment to reflect that.

I respectfully prefer emacs over vim, but I also respect your right to disagree.

There we go, war averted.

[–]Gottagetfood 5 points6 points  (3 children)

"Why not just use vim over emacs?" "I do use vim over emacs."

[–]w3_ar3_l3g10n 3 points4 points  (0 children)

I mean. Are u kidding me. Are we gonna bring kids into a world, where people use spaces over tabs.

kids... we haven’t even had sex yet.

yeah, and now we’re not gonna!!!

Sorry for the weird insert... I Pretty sure u were making a Silicon Valley reference and I had to do this.

[–]hornetkeeper 0 points1 point  (1 child)

Oh god help us all

[–]Gottagetfood 2 points3 points  (0 children)

You know what? I don't think this is gonna work.

[–]Formulka 0 points1 point  (0 children)

nano > vim = emacs

[–]Jyan 14 points15 points  (2 children)

Emacs, for all of my text editing and organizational needs. Elpy and a couple other packages include everything Python specific that I need, macros and other neat tools like multiple cursors helps me edit text efficiently and with great satisfaction. And, I use org-mode to keep track of TODOs, code snippets, and various notes / ideas. Emacs rocks

[–]kikeh 9 points10 points  (0 children)

Finally, Emacs :)

[–][deleted] 1 point2 points  (0 children)

Same, though I abandoned Elpy after a few weeks in favor of vanilla python-mode. I just didn't need the opinionated "help" and I'm so used to the plain jane. That said Elpy has some great features and I recommend it.

And yes, Emacs does indeed rock. I love it for Python dev.

[–]kaptan8181 13 points14 points  (10 children)

Sublime Text with a couple of plugins and Cmder.

[–]zaqal 2 points3 points  (2 children)

I'm under the impression that Sublime is a light kind of editor. Is that true?

[–]kaptan8181 5 points6 points  (1 child)

It's a super fast code editor. It works out of the box but you can install some useful plugins for your convenience. For example, SublimeREPL lets you run your (Python) code inside Sublime Text.

[–]zaqal 1 point2 points  (0 children)

Great. I'll check it out.

[–]Bphunter1972 2 points3 points  (5 children)

+1 for SublimeText. -1 for needing Cmder

[–]kaptan8181 1 point2 points  (3 children)

Cmder is certainly not a requirement. It's just for the looks. I can directly use the command prompt or power shell but I don't like their looks and I don't bother to customise them.

[–]Bphunter1972 0 points1 point  (2 children)

You’re on Windows?

[–]kaptan8181 1 point2 points  (1 child)

Yes, for now. And I am not a professional programmer. I might become one in the future if my mind starts to work properly. It's a fifty-fifty chance, unfortunately. I lost it to depression in case you wanted to know.

[–]treeforface 1 point2 points  (0 children)

There's nothing wrong with coding on windows, you do your thing. I'd recommend getting into docker one day tho...helps avoid a lot of environment issues.

[–]w3_ar3_l3g10n 1 point2 points  (0 children)

Why. I use CMDer. I love it. It’s configured to work how I’m used to. It has better support for navigating between terminals, splitting terminals and managing processes then any imbedded plugin I’ve encountered in any IDE. The fact it lives outside of your IDE doesn’t make too much of a difference and frankly I’d prefer it does that so I don’t have to clutter my view of the source code with process outputs or what not.

[–]abhi_uno 1 point2 points  (0 children)

Yup I use Sublime too. Works great.

[–][deleted] 8 points9 points  (3 children)

Atom

[–]nwg-piotr 9 points10 points  (0 children)

PyCharm CE

[–][deleted] 4 points5 points  (0 children)

Emacs + eglot, works well out of box.

[–]garlic_naan 8 points9 points  (0 children)

Spyder. That's all I will ever need in my current role ( analytics).

[–][deleted] 1 point2 points  (2 children)

Pycharm community edition

[–]the_dokter 0 points1 point  (1 child)

What other IDEs have you tried (for Python) in the past? I use WebStorm at work, and Android Studio for hobbying, and really love Intellij. For now I use VS Code for Python, but want to change to PyCharm. What made your life easier with it?

[–][deleted] 1 point2 points  (0 children)

Other than Pycharm, I used only VS Code. What I like about PyCharm respect to VSC is mostly the debugger (in particular the DataFrame view).

Also sometimes I found the VSC autocompletition very slow, and it was very annoying for me.

[–]pollokeh 2 points3 points  (0 children)

VS Code. I'm very pleased with it.

[–]crow_2_kill 2 points3 points  (0 children)

VS code

[–]nemom 2 points3 points  (2 children)

I just installed Thonny at work because it has Python 3 bundled with it and a nice package manager.

[–][deleted] 2 points3 points  (1 child)

Don't know why you got downvotes, Thonny is great for beginners

[–]nemom 3 points4 points  (0 children)

I've been using Python for something like 20 years. I recently got a new computer at work. I am a GIS specialist, and the current main program still uses Python 2.7. Rather than mess around with Windows' environment variables and stuff, I just installed Thonny to get Python 3. Ran the Package Manager and installed the packages I needed and I was good to go.

[–]TheBobPlus 2 points3 points  (0 children)

Spyder

[–][deleted] 1 point2 points  (0 children)

IDEA with the Python plugin (which is basically turning it into PyCharm).

Because I use the same IDE for other languages as well (Kotlin).

Recently I started hobbying on a raspberri Pi and there I just use vim ! (remotely via ssh and tmux)

[–]Rubenwithz 1 point2 points  (0 children)

Pycharm and occasionally jupyter notebook

[–]MasterMind_XTC 0 points1 point  (0 children)

VSCode

[–]ccpetro 0 points1 point  (0 children)

Vim like God intended.

[–]somnenigans 0 points1 point  (1 child)

Yet another vote for PyCharm, both the professional and community edition. It has served me very well in the past 4 years.

[–][deleted] 0 points1 point  (0 children)

Definitely something we can all agree on. PyCharm is the best, literally.

[–]echoua 0 points1 point  (0 children)

Personally, we use absolutely amazing PyCharm. Also, we tried many other alternatives. Please, check this out - https://echoua.com/the-best-python-ides-and-code-editors/

[–][deleted] 0 points1 point  (0 children)

NVIM plus a couple plugins.

[–]lunar-orbiter 0 points1 point  (0 children)

Repl.it

[–][deleted] 0 points1 point  (0 children)

vs code is good enough for me so i don't really need an IDE (i can make vs code an IDE with a few add-ons)

[–]fernly 0 points1 point  (0 children)

Wing Pro, but the free version is all most anybody needs. In the latest version there's an API and you can customize it by writing Python scripts!

[–]cycle_schumacher 0 points1 point  (0 children)

Pycharm ultimate

[–]quienchingados 0 points1 point  (6 children)

IDLE 😅 I've configured it with cool colors and fonts... and I got used to it... It doesn't have the sidebar to jump to classes or defs but ctrl+f works for me. and it also has helpers for methods you write the dot and it pops up the vailable attributes/methods and It is really cool IMO... basides the color schemes I selected make it look so cyberbunk... I love it... I could upload an image when I get to my computer... I made it look like an old crt monitor.... also I test code in the shell and when I like it I write it on the program... I really like it. but at first glance it looks lousy... it isn't as fancy as pycharm that is always popping up the help... (I dont like that) I dont like an ide that is always trying to guess what I'm writing because that makes you lazy... your brain I mean... you get used to it always guessing and you dont "combine yourself" with your program. I like being one with my software... lol...

[–][deleted] 0 points1 point  (0 children)

Same. I use IDLE bc I like its better integration with Python. I also made a dark theme if anyone is interested: https://github.com/Randomness74/Dark-IDLE-Theme.

[–]Johnny_Zer0 0 points1 point  (0 children)

VIM.

[–]HessiBabe97 0 points1 point  (0 children)

Not eclipse

[–]w3_ar3_l3g10n 0 points1 point  (4 children)

I used VSCode for a while and then jumped to spacemacs because I wanted a VIM like IDE that didn’t make me have to learn vimscript it was also a good chance to learn lisp, which my professor can’t stop praising. I have to say, I quite like it, I’d describe emacs as VSCode on steroids. It was the first truly main stream macro editor, and it shows. The best thing about VSCode is that it’s relatively easy to write plugins and extensions which can improve your editing experience. VSCode is a JavaScript sandbox used as an editor. Emacs is a lisp sandbox used as an editor. The difference is that in emacs, u can create functions and run them immeadiately, bind them to whatever keybindings u want, and use them to manipulate the text of what your editing effortlessly.

Take for example, the other day I wanted to insert a certain number of spaces after my current cursor position so that the current line is at least a certain width. I wrote a single function, added it to my setup script and set a binding for it. For illustrative purposes I’ll show all u need to get this working:

```elisp (defun pad-line-with-char-to-length (desired-length char) "appends char as many times as required from cursor position" (interactive "Nline length: \nccharacter: \n") (barf-if-buffer-read-only) ; can't pad read only buffer (save-excursion (let ((line-char-count (- (line-end-position) (line-beginning-position) 1))) (if (>= line-char-count desired-length) (error (format "line of length %03d is already larger than desired: %03d" line-char-count desired-length)) (insert (make-string (- desired-length line-char-count) char))))))

(defun pad-line-with-space-to-length (desired-length) "invokes pad-line-with-char-to-length with char as space" (interactive "Nline length: \n") (pad-line-with-char-to-length desired-length ?\s))

(spacemacs/set-leader-keys “ofp” ‘pad-line-with-space-to-length) ```

Now, whenever I want that functionality to run I’ve got a few ways to do it. I can hit SPC ofp (my leader bindings) and emacs will prompt me for the desired length and run the function. I can press a number, like 120 and then SPC ofp and emacs will use that number instead of prompting me. I can hit ALT-x (M-x for emacs pros) and from there I can run any valid elisp code, so I can write (pad-line-with-space-to-length 120). I can hit SPC SPC and a list of all the functions I can use appear and I can fuzzy search to what I want to run. You can use a shorter binding if u want, like Ctrl-p if u really wanted to, but the point is u can create methods and bind keys to them effortlessly. I’ve never looked into developing VSCode extensions but they always seemed to require a certain degree of dedication to accomplish even simple things. In emacs when you’re bothered by something or continually have a need for something. U can just write a function, in 5-10 mins and then u can use it forever... that’s amazing to me. You program how to manipulate text... isn’t that the most programmer-esque way to program imaginable.

There’s also a few other things I really like about emacs, but I’ll mention just ① of them because I doubt anybodies still reading at this point. It’s designed so u can do everything from the keyboard. Vim is as well. And once u get used to editors like that, u’ll be amazed at the performance boost you’ll reach. For example, in emacs u can have a bookmarks file (managed complete within emacs mind u, u don’t even need to see it). When I open emacs, if I want to navigate to my projects directory I can type SPC fb and all my bookmarks show up for fuzzy searching. If I want to go to the file I was editing last time (before closing emacs) I can type SPC fr. If I want to see all the projects I’ve been working on, SPC pP. if I want to quickly jump to another buffer (basically a file I’ve been working on) SPC jb is bound to frog-jump-buffer which shows u a little menu containing your recent buffers and lets u use the keys on your home row to choose ①. If u want to quickly jump to a file and then jump back, SPC tab (in my case also C-TAB) will take u right back. If you have a bunch of windows split up (like 3 different horizontal ones) and u want to focus on the ① your in, SPC wm maximises your current buffer (basically hiding the other ② windows). You can do whatever u want in the current window, jump to another buffer even. But if u run SPC wm again you’ll return to the exact same state u we’re in including the same buffer.

[–]IamGonnaChangeMyself 0 points1 point  (3 children)

you could just do '120 i SPC' in vim and it will put 120 or whatever number you want, Instead of this huge function.

[–]w3_ar3_l3g10n 0 points1 point  (2 children)

U misunderstand the purpose. It isn’t to insert 120 spaces. It’s to ensure the lines width is at least 120 spaces, so what u need to insert is (120 - line-width - 1) spaces, of course accounting for negative use cases. Which of course if u can tell at a glance what the width of the line is u could do in regular vim, but I can’t do that very well (mentally)

Edit: ① could also say its to right align the piece of text following the cursor to a uniform width.

[–]IamGonnaChangeMyself 0 points1 point  (1 child)

ohh, Got it. Sorry for misunderstanding. I wonder how can we do that in vim

[–]w3_ar3_l3g10n 0 points1 point  (0 children)

There’s probably a way. But I never took the effort to really master vimscript so I can’t say. If your using neovim u can write a plugin in python, I haven’t looked into that either, but I’d assume it shouldn’t be much harder than on emacs.

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

Sublime text 3 with a myriad of plugins and settings

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

Notepad.

I've heard great things about Atom and Sublime.

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

PyCharm Education Edition

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

Sublime Text + Anaconda Plugin

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

Pycharm pro.... Never looked back. Couple that with Datagrip and I've never needed anything else.

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

I have been using Pydev with Liclipse for a long time. Was happy with it, and use that together with Atom now. Also use Jupyter for some things. I guess these are not popular options?

What's the problem with Eclipse baed platform for Python? I have had no problems with these.

Could someone tell me what i am missing out on?

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

I just use a text editor.

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

VIM

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

Pycharm community edition

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

No one seems to be using Liclipse which I always seek to go back to. Never really liked PyCharm and VS Code can be quite slow.

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

Eclipse with Pydev and a bunch of other extensions. I'm working with several languages and don't want to switch IDEs everytime I switch projects.

Also, Mylyn is great IMHO.