Student Login

The correct IDE for Python

Dashing reader David asks:

"What is the best IDE to use with Python?"

It depends on how much thought you want to invest in your choice.

If you want me to just tell you what to use: use Pycharm. It's an excellent Python IDE, and hard to beat.

Now, if you want to put more thought into it...

Broadly, you can toss editors and IDEs into one of two buckets:

1) Those that include a lot of useful, Python-specific features, that you can start using right away

2) Those designed to be programmable and extensible by the normal user... as much a platform for building an IDE, as it is an IDE itself

I'm over-over-simplifying here. But this is one decent way to split the bunch.

So you first decide is what kind of IDE you prefer. Both are good choices, and you'll find stellar engineers loyally using every different IDE. But each has a different kind of learning curve.

In the first category, you have IDEs like PyCharm - the most Python-specific of the bunch - as well as Visual Studio, Spyder (with its focus on scientific Python), Eclipse (using the PyDev extension), and more.

In the second bucket, you have Vim (the most popular in this category), Emacs (my personal favorite), and more modern tools like Atom.

With the first category, your learning curve is how to use its built-in features. And doing basic editing is extremely easy.

On the rare occasion you need to do something outside what it provides, though... you'll have to master its plugin API to do anything useful.

With the second category, you have a sharper learning curve just to do basic editing. Writing "hello world" will be more effort that you'd expect.

And you must invest over time in learning how to extend its functionality. But once you do, it gives you remarkable power. You'll feel like a wizard editing your code, some days.

Another benefit of the second category: what you learn transfers to coding in different languages. This matters if you code in languages other than Python.

Since I know about a zillion of you will ask: I myself use Emacs 80% of the time, Vim 15% of the time, and others the rest of the time.

But I'm an outlier. You do you, based on which IDE works best for you.

For Teams Bootcamp