PyCharm CE vs Sublime Text for Python Development

PyCharm CE vs Sublime Text for Python Development

PyCharm and Sublime Text are both great editors, and they are both recommended quite often for Python development. While PyCharm is a full-fledged IDE, Sublime Text is a sophisticated text editor that is massively extensible via plugins. But which one is better?

Throughout the text of this post, whenever I say PyCharm, I am referring to PyCharm CE, and when I say Sublime, I am referring to Sublime Text 3(with Anaconda & GitGutter plugins installed).

Autocomplete

Code completion is a very useful feature to have for Python development. To get code completion in Sublime for Python, there are multiple plugins you can use. There’s SublimeCodeIntel, SublimeJEDI, and Anaconda. I personally prefer Anaconda.

Imports

PyCharms support for import autocompletion is no doubt worlds better compared to what Sublime has to offer.


(PyCharm)


(Sublime)

For some reason, it seems Anaconda doesn’t want to offer autocompletion without the from … import … syntax.

Functions

For functions, both Sublime and PyCharm have quality autocompletion. With Anaconda, it is possible to combine the docstring with the method signature, while you will have to settle with Ctrl+J on PyCharm.

(Sublime)

(PyCharm)

One place where PyCharm is lacking is automatic parameter insertion. While Sublime supports automatic parameter insertion, PyCharm only has automatic parameter hinting.

(Sublime)

(PyCharm)

Score:
PyCharm - 2.5 points
Sublime - 3 points

Virtual Environments

Both Sublime and PyCharm have support for virtualenv, while only Sublime supports Vagrant. Both Sublime and PyCharm can lint code using a virtual environment. If you are on Linux or OSX, you can symlink a virtual environment from within a Vagrant VM, but doing so is not possible on Windows.

Score:
PyCharm - 1.5 points
Sublime - 2 points

Git integration

Both Sublime and PyCharm provide Git integration. PyCharm definitely comes out at the top here, with the ability to see exact diffs, and integrate external diff and merge tools.

(Sublime)

(PyCharm)

Score:
PyCharm - 2 points
Sublime - 1 point

Resource usage

Energy usage

I use both Sublime and PyCharm on OSX, and OSX has nice Energy Impact information available in the Activity Monitor. Let’s take a look at that.

It seems that with my choice of plugins, Sublime has slightly higher energy usage compared to PyCharm. Almost all the plugins that I have installed in Sublime related to Python development are emulating some functionality that PyCharm already provides. Also, GitGutter and Anaconda are the only plugins which have always-running background processes that could elevate energy usage, and the functionality provided by them is present in PyCharm by default.

Memory usage

There is a stark difference between memory consumption while idling between the two editors. While Sublime consumes ~50MB RAM when not in use, PyCharm chomps up 700MB.


Score:
PyCharm - 1 point
Sublime - 1 point

Overall

Both Sublime and PyCharm have similar functionality, but PyCharm does most things better in comparison to Sublime. While Sublime Text is nagware with a $70 license fee, PyCharm CE is freeware, and PyCharm Professional Edition is priced at $99.

If you can spare $99 for a PyCharm Professional Edition license, it gets you some serious new features, like Flask/Django support, JS/HTML/CSS support, Database/SQL support, and more.

While points-wise, both tie at 7 points, I personally prefer PyCharm due to its superior built-in functionality, and I’m gonna stick with it.