days
-6
-8
hours
0
0
minutes
-4
-3
seconds
-3
-2
search
Hiss hiss

Top 5 IDEs and code editors for Python

Jane Elizabeth
python
© Shutterstock / Monica Martinez Do-Allo

Python has seen a resurgence in popularity as this scripting language has proven attractive for machine learning and data science. We take a look at some of the most popular IDEs and code editors for Python.

Python’s current ascendency was no sure thing. A decade ago, scripting languages like Perl, PHP, and Ruby were the hottest thing in tech. Yet today, only Python remains: GitHub’s second-most popular programming language and Stack Overflow’s  fastest-growing major programming language. What’s more, it’s considered the most popular language for machine learning.

In honor of Python’s popularity, we’re taking a look at the top five IDEs and code editors for Python. This is by no means a complete list; we had to winnow down the list to a mere five (plus one honorable mention). So, without further ado and in no particular order, here are JAXenter’s favorite Python IDEs.

PyCharm

Looking for a full-featured and dedicated IDE for Python? PyCharm was developed by JetBrains, the same team that created another popular IDE for Java, IntelliJ IDEA. It is one of the most popular IDEs for Python and enables developers to be more productive while PyCharm takes care of the routine.

The open source community option provides developers all the tools they need for productive Python development, from quick code navigation, code completion, refactoring, unit testing, and a debugger. The commercial option fully supports Django, Mako, and Web2Py for web development.

More information about PyCharm can be found here.

SEE ALSO: Web developers vs. data scientists: Who rules the Python world?

Spyder

No, this isn’t yet another Spiderman remake. Spyder, the Scientific Python Development Editor, is for Science! Specifically, data science.  Spyder’s unique combo of features makes it an excellent tool for scientists, engineers, and data analysts. These built-in features include advanced editing, an interactice console, documentation viewer, variable explorer, and a whole suite of development tools, including some pretty sweet visualization options to make your data look shiny.

Spyder is extensible via a plugin system and API, along with a PyQt5 extension library. It is completely free, open source, and 100% pure Python. This IDE is quite similar to RStudio and Matlab, making it an easy switch for data scientists to learn. Spyder supports Windows, MacOS, and Linux.

More information about Spyder can be found here.

Eclipse + PyDev

Okay, this one may be cheating a little. Eclipse isn’t a Python-specific IDE. However, PyDev is the free, open source plugin for Eclipse that allows developers to utilize all the cool Eclipse features while still writing in Python. Given our long-standing love affair with Eclipse, we just had to add this one to the list.

After installing a simple plugin for your Eclipse IDE, PyDev can be used for Python, Jython and IronPython development. The out of the box features include code completion, code analysis, refactoring, Python debugging, and even an interactive console. If you’re a Django developer, PyDev makes it simple to make and execute new Django projects.

PyDev is recommended as a part of the LiClipse bundle, which also provides support for C++, JavaScript, Dart, and more.

More information about Eclipse with PyDev can be found here.

SEE ALSO: Top 5 machine learning frameworks for Java and Python

IDLE (and IdleX)

Of course, you don’t need to go far to use IDLE, Python’s own minimal IDE. Named after Eric Idle of Monty Python fame, this IDE is extremely lightweight and works directly from the Python shell.  While it has no project management capability to speak of, IDLE offers a powerful debugger and is great if you’re worried about bloat. It offers a multi-window text editor with a number of features, including multiple undo, Python colorizing, smart indent, call tips, auto completion, and more.

Additionally, IdleX is a collection of over twenty extensions and plugins that provide additional functionality to IDLE. IdleX gives developers even more tools for academic research and development as well as exploratory programming. These features include shell enhancements, editor enhancements, interactive execution from the editor, and more.

More information about IDLE can be found here.

Atom

Okay, so technically speaking, Atom is a code editor. Billed as the “hackable text editor for the 21st century”, Atom is built on the Electron framework and it was developed by GitHub. While Atom mostly focuses on creating desktop apps for JavaScript, HTML, and CSS, Python language support is available through an extension.

Atom’s lightweight footprint makes it fast to load and use. However, since it runs in a JavaScript process, it is obviously not 100% Python or native. Atom’s community keeps things moving, creating plugins for extra productivity and efficiency. Unsurprisingly, Atom’s integration with GitHub and Git is fantastic.

More information about Atom can be found here.

SEE ALSO: Top 10 Python tools for machine learning and data science

Honorable mention

While there are almost too many to count, we really can’t finish this list without mentioning the one and only Jupyter Notebook. Sure, it’s not an IDE either, but it’s so useful we really can’t help but put it in.

Jupyter Notebook is an open source web app that allows developers to create and maintain notebook documents. This is a great, easy-to-use data science tool for beginners and educators.  Jupyter allows for programming in over 40 languages, including Python. Because the notebooks can be shared, it allows for a more collaborative touch to big data integration. We’ve covered Jupyter before and it remains a favorite for its sheer usefulness.

Did we miss one of your favorite Python IDEs? Let us know in the comments below!

Author
Jane Elizabeth
Jane Elizabeth is an assistant editor for JAXenter.com.