38

So I have IntelliJ and love it, and have been using the Python plugin for a while. But I noticed that they have PyCharm coming out in beta now. I haven't been using PyCharm since I just use IntelliJ for everything, but is there a compelling reason to buy PyCharm?

informatik01
  • 16,038
  • 10
  • 74
  • 104
Mike
  • 1,297
  • 2
  • 14
  • 22

5 Answers5

51

Since this question (and its accepted answer) are older and new versions of both IDEA and PyCharm are available, I figured it would be appropriate to add a new answer without modifying the existing "correct" one...

My company has licenses for both PyCharm 1.5 and IntelliJ IDEA 10.5 and I have used both for regular Python development and Django web app development. From my experience, I have not found any features of PyCharm which were not available to me using the Python plugin for IntelliJ.

This makes sense if you consider the fact thet the Python IntelliJ plugin is actually maintained by the PyCharm developers at JetBrains. The only catch to this is that there could be brand new features released to a new version of PyCharm which would not be immediately available to the plugin users but it probably wouldn't take them long to port them over.

If you are considering buying a license for IntelliJ, I would recommend to not also buy a PyCharm license as it seems like a waste of money. However, if you only do Python related development, I would recommend to only buy the PyCharm IDE instead because its licenses are cheaper than IDEA's.

UPDATE (2013-01-23)
I have been recently using IntelliJ IDEA v12 with the latest (2.10.0) python plugin instead of PyCharm. As an experienced IDEA user, this is my preferred situation. For someone with no (or less) IDEA experience, JetBrains actually recommends starting with PyCharm because it's UI is simpler and more focused on productivity within Python projects.

As for feature difference, JetBrains claims that the Python plugin is built from exactly the same source as PyCharm so the features should be identical. The only differences should be with the user experience, where IDEA's plugin is slightly harder to use because that IDE isn't aimed at Python development in the first place.

JetBrains has a FAQ that has more info about differences between the IDEA plugin and PyCharm.

Jesse Webb
  • 43,135
  • 27
  • 106
  • 143
  • 3
    Currently, the type inferencer of the plugin version seems to be less good than PyCharm's. Doesn't take epydoc into account for example. – ron Jan 02 '12 at 12:55
  • 7
    I also found [this related answer](http://stackoverflow.com/a/13829907/346561) by an employee of JetBrains which says "All of the functionality of our lightweight IDEs can be found within IntelliJ IDEA" – Jesse Webb Mar 02 '14 at 09:54
19

Right now PyCharm is quite a bit farther ahead in terms of functionality compared to the Python plugin for IntelliJ IDEA 9. Once we start the EAP for IntelliJ IDEA 10, we'll also release a new version of the Python plugin containing all the latest features of PyCharm, but we don't currently plan to backport the new features to the IDEA 9 version of the plugin. So, if you're OK with using EAP builds of IntelliJ IDEA, you shouldn't need to buy a separate license for PyCharm.

yole
  • 92,896
  • 20
  • 260
  • 197
  • 6
    So, going forward, the intention is to keep the Plugin and Pycharm essentially in sync (with whatever delays are incurred due to release schedules)? So I should be able to do the same kind of django development in IDEA that I can do in PyCharm running side-by-side with say GWT for the front-end? – ThatAintWorking May 08 '12 at 01:37
  • 1
    As of PyCharm 2.5, there are some features (creating virtualenvs, working with remote interpreters) that are available only in PyCharm but not in the plugin. It's likely that they will be supported in a later version of the plugin. As for Django development, the features of PyCharm and the plugin are in sync. – yole May 08 '12 at 11:22
  • 1
    PyCharm is now 3.0, and while the Python plugin now allows remote debugging, it's a much more manual process. You must add a Python egg on the remote machine, importing pydevd, and including a line that appears to start a debugging server on the remote machine. I _think_ PyCharm does this for you behind the scenes maybe? Oh, and I don't think you can debug through SSH. – Johntron Oct 04 '13 at 20:54
7

IntelliJ's comarison of IntelliJ IDEA and PyCharm. http://confluence.jetbrains.net/display/PYH/PyCharm+vs.+IntelliJ+IDEA+Python+plugin+FAQ

From their blog:

Nov., 22nd 2012 - Just a quick heads up: we’ve just released a version of the Python plugin for the latest Early Access Preview build of IntelliJ IDEA 12 (build 123.4). The plugin includes the entire functionality of the current PyCharm 2.7 EAP, including several features which were previously only available in PyCharm (creating virtualenvs, using remote interpreters, creating UML diagrams for Python code etc.).

Source: http://blog.jetbrains.com/pycharm/2012/11/python-plugin-for-intellij-idea-12-is-now-available/

philipp
  • 4,133
  • 1
  • 36
  • 35
2

Right now Pycharm does a much better job of detecting and automatically configuring itself to run existing Google App Engine apps. Using IntelliJ and the plugin requires quite a few steps to get an existing project to run.

In PyCharm all you really have to do is configure a run configuration Script: /path/to/dev_appserver.py Script Parameters: /path/to/your/app

Make sure you configure Python 2.5.x as your interpreter.

For comparison: In IntelliJ you need to first add a Python module to your project, then add Google App Engine to that perspective. None of that is at all obvious as you are trying to do it as IntelliJ will want to create new module directories rather than use your existing code.

-1

PyCharm supports django and Google App Engine. The django support is really nice if you use django.

Joshua Partogi
  • 16,167
  • 14
  • 53
  • 75