Python is a widely used general-purpose, high level programming language. It’s easy to read and learn. It’s frequently used for science, data analysis, and engineering. With a burgeoning scientific community and ecosystem, Python is an excellent environment for students, scientists and organizations that develop technology software.
One of the essential tools for a budding Python developer is a good Integrated Development Environment (IDE). An IDE is a software application that provides comprehensive facilities to programmers for software development.
Many coders learn to code using a text editor. And many professional Python developers prefer to stay with their favourite text editor, in part because a lot of text editors can be used as a development environment by making use of plugins. But many Python developers migrate to an IDE as this type of software application offers, above all else, practicality. They make coding easier, can offer significant time savings with features like autocompletion, and built-in refactoring code, and also reduces context switching. For example, IDEs have semantic knowledge of the programming language which highlights coding problems while typing. Compiling is ‘on the fly’ and debugging is integrated.
An IDE typically offers a:
- Source code editor (essentially a text editor with additional features such as code completion, structural navigation, and syntax highlighting. Being able to identify keywords, variables, and symbols on your code makes reading and understanding code easier);
- User-friendly debugger – step through your code as it runs;
- Compiler and/or interpreter;
- Build automation tools.
A good IDE tries to accurately predict what the developer is seeking to do without getting in the way. And it should let you easily integrate tools that the software created doesn’t come with.
For this article, I select the finest open source IDEs designed with Python in mind. There’s a diverse range chosen including IDEs specifically designed for beginners, as well as IDEs ideal for data science and machine learning. Hopefully, there will be useful software here for any Python programmer, whatever their level of familiarity with the language.
Before exploring my recommendations, I want to give a special mention to PyScripter. Like the software listed below, it’s released under an open source license. While PyScripter holds a special place in my heart (I used it for a long time), it’s only available for Windows. While on the subject of Windows, if you prefer coding with a code editor (not an IDE), Microsoft’s Visual Studio Code is an excellent open source product. And it’s cross-platform, running natively on Linux. Microsoft and great product in the same sentence is probably a first for LinuxLinks. But credit where credit’s due.
Let’s explore my 9 selected Python IDEs at hand. For each application, I have written a summary page.
|Python Integrated Development Environments|
|PyCharm||Full-featured IDE. Two editions are available, one is open source software|
|Spyder||Python development environment providing MATLAB-like features|
|eric||Full featured Python editor and IDE, written in Python|
|PyDev||Python plugin for Eclipse|
|Thonny||Tk-based IDE designed for novice programmers|
|Leo||PIM, IDE and outliner|
|Pyzo||Interactive editor for scientific Python|
|PTK||Interactive environment for Python|
|IDLE||Python’s Integrated Development and Learning Environment|
Programmers form very strong opinions on their choice of tools. So use the comments box below to let us know your thoughts.
Read our complete collection of recommended free and open source software. The collection covers all categories of software.
The software collection forms part of our series of informative articles for Linux enthusiasts. There's tons of in-depth reviews, alternatives to Google, fun things to try, hardware, free programming books and tutorials, and much more.