One part GvR didn't talk about which is top-notch in PyCharm is jumping around in your source code. The searching of symbols and classes (via a search box) is very well done and generally works quite well, which is extremely handy for big codebases, and the contextual jumps (option-click on a class name) to definitions is quite cool as well.
And in usual Jetbrains fashion, it comes with a bunch of refactoring though they tend to show their Java origin (extract method can handle multiple return values, but provides no way to set the order of the return tuple whereas you can reorder parameters)
Oh forgot one: PyCharm has a very good support for virtualenvs.
It's not quite perfect yet, but you can set a virtualenv interpreter as a project's current interpreter (PyCharm does not automatically recognize that, and that's the major feature lacking) and PyCharm will see the right PYTHONPATH. Very, very handy with `virtualenv --no-site-package` which I tend to use a lot.
I won a PyCharm license at PyTexas last year. Before I wond the license I had a bad experience with the beta version. It took almost 9 months using it on and off until I it finally became my IDE of choice.
- The Subversion integration is killer.
- There is even a tool to apply .diffs.
- There is a plugin that gives me VIm key bindings.
- The Django integration is nice, including Django templates.
- The CSS editor is fantastic. One cool feature is the color referenced in a line is put in the left gutter.
- The debugger is very handy.
- The quick file navigation bar is a super handy way to jump between files.
- The "Go To" for Class , File, and Symbol is a very quicksilver-ish way to navigate your project
- As trite as it might sound, the color themes are super easy to change. Which are close to impossible to change with PyDev + Eclipse.
Have you used WingIDE? How does it compare? After shelling out for a $150 license and using it enthusiastically for about 3 months, I found myself moving back to basic text editors. I guess I just found the slowdown and general clunkyness was not offset by the additional toolset. Wondering how pycharm compares.
Try http://www.eclipsecolorthemes.org/ (note I used it with cdt and had trouble with dark color themes making some elements nearly invisible) but other then that its sorta nice
PyCharm's been the only thing that made me leave Vim for any length of time.
It's not about having it all in one place, it's the attention to detail and the little conveniences that are everywhere. Whereas in general purpose editors I'm mostly fine, but eventually stumble on small roadblocks at the edges, with PyCharm every once in a while I stumble on wonderful gems (remote debugging, auto-fixing common issues, etc.)
I ended up buying IntelliJ because the python plugin is virtually the same thing although it does lag behind the Pycharm version a wee bit in terms of features. The other major difference is the way projects are started and the feature to open files from the command line is missing in IntelliJ. If you only use Python Pycharm is definitely a more focused product and doesn't have features from other programming languages hanging out in your face in places like the run configurations.
Also according to the license matrix on both IntelliJ and Pycharm the personal versions are both for general commercial use. The difference between the commercial and personal licenses mainly seems to be about who is purchasing the software.
EDIT: That article is really golden. It starts with the silliness about not using emacs, without any clear reason why other than "not abiding to Moore's Law" (whatever that means), he praises NetBeans (as if) but claims "almost nobody bothers to modify its code because of its complexity", then, to top it off, ComputerWorld refers to him in that (and other) articles as "Father of Java", ignoring the quote at the bottom that says "People call me that because it pisses me off."
Also worth a look in my opinion is Aptana Studio 3, which is basically Eclipse with optimized settings and installed plugins for web-development, Python (PyDev), rails, ...
One thing I installed on top was a mercurial plugin from the eclipse marketplace, otherwise it's pretty complete for my needs.
Bought a license of PyCharm and I'm having exactly the same experience as Guido: love the debugger, prefer emacs+screen+ssh for everything else.
I've heard others python guys saying that they have PyCharm for exploring complex repositories and debug things. The problem with emacs is that it's perfect for coding, but not for exploring.
I haven't heard about PyCharm until now. It looks like a great IDE. I think I'm going to download the trial version and see if I want to throw down the $50 for a single user license. Quite cheap and if it's as good as it looks it will be well worth the money.
I've read a number of discussions about python editors on stackoverflow and some random blog posts, and netbeans seems to invariably be missing from the discussion. Why is that? I've been using it for the past couple of months and I definitely like it better than Eclipse+PyDev. Am I missing something obvious that's missing relative to these alternatives?
The thing with IDEs is that there are so mind-bogglingly many of them. It's like with web frameworks. In every discussion/comparison at least a few are bound to be missing.
I recently switched from Django (I was also using Clojure, but switched back to Python for web stuff because nobody around here knows Clojure...) to web2py and love it. I've been using the integrated editor out of lazyness, but will be ramping up my web development effort soon so could do with a good IDE. I've tried and liked WingIDE in the past, but am open to alternatives too.
I use both pycharm and Wing IDE for a fairly large project. I find coding python in Wing IDE easier because it is simpler (have a few virtualenvs, Wing IDE easily figures things out and code completion is pretty good). I use Webstorm (JetBrains Web IDE) for UI development and find it a good fit for that purpose.
I'm also a huge fan of PyCharm. Has made all Python devving tons more fun (Django + AppEngine is what I do). Can't recommend it enough, and I've tried PyDev & Komodo wanting to like them.
As a Linux user the biggest turn-off thing for me is the horrible font rendering of Swing applications on Linux. This has kept me from using JetBrains products and Netbeans altogether.
to your JVM. I don't know why the default is "ugly 1990s-style", but those settings made Netbeans usable for me (for long enough to discover I still prefer Eclipse, except for the profiler).
AFAIK There is a setting in editor->Appearance->Use Anti Aliased Fonts
and, as other commenter said Oracle JRE may have better font rendering than Open JDK.
I've found that using the "Nimbus" look and feel (Settings -> IDE Settings -> Appearance) and making sure "Use anti-aliased font" is checked (Settings -> IDE Settings -> Editor -> Appearance) do pretty well.
I am using an Oracle 1.6 Java on Ubuntu 10.10.
PyCharm and IntelliJ also seem to default to an "Alloy" look and feel on Windows, but changing that to the native Windows L&F vastly improves both the fonts and general appearance.
That's the maximum I could come up with after trying many suggestions. Still ugly for me. May be my eyes are sensitive but observe w, v and x. They're faded out. Also most letters look choppy for my eyes. I can't stare for long.
And in usual Jetbrains fashion, it comes with a bunch of refactoring though they tend to show their Java origin (extract method can handle multiple return values, but provides no way to set the order of the return tuple whereas you can reorder parameters)