7 sweet Python IDEs you might have missed

From a simple platform for beginners to an expert-level development workbench, there's an IDE for most every Pythonista

7 sweet Python IDEs you might have missed
Sebastian Spindler (CC0)

The current state of IDEs built for Python is an embarrassment of riches. Six products made the cut in our last rundown, but there were many more worth noting—sophisticated efforts that provide a full-blown development system for experts, as well as modest projects suited to a first-time Pythonista. 

Here are seven other Python IDEs, from the minimal to the maximal, that also should be on your radar.

Eric6

Like Python’s own native IDE IDLE, Eric6 is a Python IDE written in Python, although it uses the Qt5 UI framework to provide a far more sophisticated UI than IDLE.

But getting started requires some assembly, because Eric6 isn’t deployed like a conventional platform-native app. It’s essentially a large Python package with several weighty dependencies, such as the Python bindings for Qt5. The upshot: Getting started with Eric6 means understanding Python package management, so it isn’t likely to appeal to beginner users. That said, the installer script provides feedback so you know which packages need to be fetched and installed to finish the setup process (PyQt5, QScintilla).

Install process aside, Eric6 is remarkably well equipped. It has the usual utilities included in modern IDEs, such as class browsing and version control, but it also integrates support for Python-specific features like unittest, PyLint, the PyInstaller and cx_freeze application distribution system, and a built-in PyPI/pip package-management browser.

New projects created in Eric6 can also be built as PyQT4/5 GUI and console applications, because the underlying libraries are already installed, although additional development tools like the Qt form designer aren’t included by default.

python ide eric6 IDG

Eric6 is itself written in Python, using the Qt UI framework, and bristles with useful Python-specific features

Wing IDE

Billed as “the intelligent development environment for Python programmers,” Wing IDE emphasizes feature integrations specifically designed for Python users. This goes beyond refactoring functions across a code base or working with multiple Python interpreters. It also includes detailed integration with many popular Python frameworks (Django, Zope, Plone), packages (PyQT, WXPython, PyGTK), and third-party apps (Maya, Blender). Raspberry Pi users can also use Wing IDE to do development.

Version 7 of Wing adds support for versions of Python up to 3.8, code quality and inspection features (both natively and via add-ons like PyLint), a viewer for array data such as Pandas DataFrames and NumPy ndarrays, and a presentation mode for talks or code demos.

Wing is a commercial product, but it has two free editions with concessions to independent developers and beginners. The Wing IDE 101 edition doesn’t have most of the advanced features of the suite, including many of the day-to-day things a developer might use (bookmarks, module browsing, refactoring), but it’s a good way for a fledgling Python dev to get started without struggling with something as underpowered as IDLE. The Personal version, also free, restores many, but not all, pro-level features. The Pro version comes in both perpetual and annual licensing offerings, starting at $69 per user. There’s also a 30-day trial version.

python ide wingpro IDG

Wing IDE’s feature set is rich, although the full complement of features is available only in its paid edition.

Pyzo

Sometimes you only need so much. Pyzo is a small IDE aimed mainly at scientific computing audiences, with a small tool set: editor, interactive shell, file browser, source structure browser, and a few other amenities. It’s largely intended for on-the-fly interaction with libraries, where you type commands into Python’s REPL or execute individual files rather than do formal application development. In that sense, it’s less suited to those who want to create apps and is more for people who want to use Python as a workbench environment.

To make it easy to unpack and get going, Pyzo’s delivered as platform-native executables—no need to cobble together the runtime. It works with existing CPython runtimes, but its creators recommend Continuum Analytics’s cut-down version of the Anaconda distribution, Miniconda, which makes it easy to obtain packages and add-ons. Pyzo can now also autodetect interpreters set up with pipenv.

python ide pyzo IDG

Pyzo’s minimal interface is a step up from the likes of Python’s own IDLE, but useful enough for simple scripts and basic scientific computing tasks.

Thonny

Beginners looking to get their feet wet with Python are often steered toward IDLE, but Thonny, a small IDE geared specifically to getting beginners used to the language, is a substantially more hassle-free choice. Available on Windows, Mac, and Linux, it saves the user of having to download or configure a Python interpreter. A recent version of Python (currently, 3.7) is bundled right with Thonny, and the IDE works with it by default out of the box. That said, you can always swap in any other Python runtime.

By default, Thonny installs itself in the user’s profile directory, so it doesn’t require elevated permissions to set up or use—handy for people using someone else’s computer or one where they don’t have admin rights.

Menu commands let you toopen a command-line session with Thonny’s interpreter and package manager available as the default choices when typing python or pip. (This is a great idea.) Other nice features include a tree viewer for a script’s AST, a sidebar note-taking section, and inspectors for objects, stack, heap, and variables in debug mode.

python ide thonny IDG

Another simple IDE a step up from IDLE, Thonny can run in a self-contained directory with its own copy of the Python interpreter, a handy way to work with Python on the go.

Ninja-IDE

An independent project, Ninja-IDE is comparable to professional-level development tools like ActiveState’s Komodo IDE or PyCharm, not only in terms of developer experience but in that its feature set was built by and for Python users.

For example, the Preferences dialog for Ninja-IDE has a tab devoted to the Python interpreter to be used when running programs, along with checkboxes to enable or set all the various command-line options used by the interpreter. This is tremendously handy if, like me, you forget what they are or don’t remember to set them for specific scripts. Another tab in the IDE that shows by default is Migration 2to3, so scripts written for Python 2.x can be analyzed and have suggestions made.

python ide ninja IDG

An open source IDE with a sizable roster of official and contributor plugins, Ninja includes a UI for creating Python virtual enviroments as one such add-on.

Microsoft Visual Studio Code

Microsoft’s simple and lean code editor gets its power from its galaxy of extensions that provide support for various languages. Python developers have a bevy of Visual Studio Code extensions, but the best place to start is with the one originally created by Don Jayamanne and now officially supported by Microsoft. It’s been kept current with every new version of Python, and it integrates support for all the good things you’d want: snippets, code linting, autocompletion, integration with scientific tools like Jupyter, refactoring, unit testing, debugging, and tons more.

python ide visualstudiocode IDG

Microsoft’s Visual Studio Code comes with an official Microsoft-supported extension for Python that covers most every aspect of developing with the language.

GitHub Atom

GitHub’s Atom editor is built from some of the same pieces that power Visual Studio Code, but its biggest similarity is the design philosophy: Keep it lean, and add language- or developer- specific features through external packages.

For Python users, there isn’t a single, overarching add-on à la the Microsoft-sponsored one for Visual Studio Code. Most of the crucial pieces are in a few packages: language-python for base syntax highlighting and snippet support, python-tools for some handy functions like quick refactoring, autocomplete-python for autocompletion, and linter-flake8/linter-pep8/linter-pycodestyle for code linting, depending on which Python package you’re using.

python ide atom IDG

The Atom text editor has add-ons that turn it into a Python development environment, complete with code completion, syntax highlighting, and linting.

Copyright © 2019 IDG Communications, Inc.