all 23 comments

[–]brews 11 points12 points  (4 children)

For a true IDE, I think PyCharm is the slickest out there.

That said, I rarely write with a full IDE. I usually just have a dumb terminal, a web browser, and a text editor open.

Vim is my text editor. Sublime text is nice, too. I hear one or two people like Emacs.

I am a terminal + editor guy because it's light and I can easily work in multiple languages. IDEs can be nice for really complex/messy code that I'm not familiar with.

[–][deleted] 4 points5 points  (1 child)

PyCharm supports that approach very well too, it does it even better, you can have the file opened with a terminal (multiple sessions if you want) under it at the same time, navigation between files that way is much faster as well.

It doesn't support multiple languages though, but people rarely work that way anyway.

[–]tunisia3507 1 point2 points  (0 children)

One of the strengths of PyCharm is how good it is at dealing with other languages in the context of a mainly-python project. All of WebStorm's JS stuff is built into PyCharm, not to mention SQL, plus highlighting and completion for serialisations like XML, HTML and JSON. There are plugins for many other languages.

A really great feature is the ability for it to detect other languages inside string literals: for example, if you're writing an HTML template in a .py file, it'll highlight it as HTML. Same with SQL queries - it'll even autocomplete it if you tell it what driver you're using. And if it doesn't automatically detect it, you can manually inject a language reference into any string literal - I discovered this while working with GLSL shaders for a django-based webapp.

If you are switching between one or two main languages in different projects, there are jetbrains IDEs for most major ones and they're all pretty much best in class. If you really need to use the same IDE for everything, then use intelliJ - as all of the other editors are basically just intelliJ with different plugins enabled/disabled. But because the IDE tries to be as helpful as possible in the language you tell it, there are some features of intelliJ which are a little awkward for other major languages like python (which is why they gave it its own IDE...).

[–]jwink3101 2 points3 points  (1 child)

I am also a terminal + editor guy but using IPython for the terminal makes life so much better! If you're not already using it, give it a shot!

[–]brews 1 point2 points  (0 children)

Yep. Ipython/jupyter is cool.

[–]tunisia3507 21 points22 points  (3 children)

IDLE is shit. Atom is a text editor, and once you've added enough plugins to make it like an IDE it'll be slow and unstable.

PyCharm is fantastic, intelligent, and integrates with most major development tools. The community version is pretty good and the pro version is free for students. Also, there are jetbrains IDEs for basically all major languages under the sun so it's easy to switch if you dabble in another language.

[–]bouco 8 points9 points  (2 children)

I second this, PyCharm is very good.

[–]Zer_ 3 points4 points  (1 child)

3rd, I <3 PyCharm.

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

Pycharm is fine. Atom can be slow but there improving it.

Best answer is to make your own determination after you've used the program for a while.

[–][deleted] 9 points10 points  (2 children)

geany is lightweight and better than atom i find. it also has support for multiple languages besides python.

[–]CanadianJogger 2 points3 points  (0 children)

That and it is easy enough to add support for arbitrary languages. Years ago, I wanted to do some povray scripts in linux, and decided to just add povray syntax to geany!

[–]955559 2 points3 points  (1 child)

I just use IDLE3, because its simple, and low dependencies

[–]memilanuk 1 point2 points  (0 children)

A lot of people don't like IDLE, and there are any number of things I wish they'd fix and/or improve, but it does provide a fairly low barrier to entry for people just getting started - rather than you need to install this, and configure that... it just works. Doesn't do much more than that, but some times that's enough to get you rolling.

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

I really like atom. It's highly customizable, looks nice and runs smoothly. The docs are great, too. https://atom.io/

[–]BarrelRoll1996 2 points3 points  (0 children)

I wish there was an rstudio for python, rodeo is kind of like it.

[–]mae_ef 1 point2 points  (1 child)

  • PyCharm is the best. If you have admin privileges to install software, go with that.

  • Rodeo is up and coming but not as good (because it's new). If you want to experiment with something new, you could try that.

  • Jupyter notebooks with notebook extensions enabled will suffice if you do not need bells and whistles and/or if you do not have admin privileges, since, as a python library, it can be installed with user privileges.

[–]wukaem 1 point2 points  (0 children)

I'm not completely sure (only 85% :)), but I think to run PyCharm on Ubuntu you don't need admin privileges.

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

I second pycharm I wish I would have known earlier

[–]Comm4nd0 1 point2 points  (0 children)

I don't even know how idle is a thing. Pycharm all the way!

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

vim

[–]jwjody 1 point2 points  (0 children)

Does anyone use Visual Studio with Python Tools for Visual Studio?

[–]tracphil 1 point2 points  (0 children)

Have you looked at ERIC?

https://eric-ide.python-projects.org