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

The current state of IDEs built for Python is an embarrassment of riches. Six products made the cut in the 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. Getting started requires some assembly, though, since 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. 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 that 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 or version control, but it also integrates support for Python-specific features like unittest, PyLint, and the cx_freeze application distribution system. New projects created in Eric6 can also be built as PyQT4/5 GUI and console applications, since the underlying libraries are already installed, although additional development tools like the Qt form designer aren't included by default.

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 codebase 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.

Wing is a commercial product, but it has two free editions with a good number of 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. For the pro version, there's a 30-day trial, or both perpetual and annual licensing starting at $69 per user.

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'll work with an existing CPython runtime, 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 without undue hassle.

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, or Linux, it also saves the user of having to download or configure a Python interpreter. A recent version of Python (currently, 3.5) 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 allow you to open 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.) Thonny has some rough edges, though. When I used the integrated debugger on a fairly large program, the IDE itself threw an error. To that end, Thonny is best as a self-service teaching tool, rather than a full software development environment.

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 that its feature set was built by and for Python users. For instance, 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.

Microsoft Visual Studio Code

Microsoft's simple and lean code editor gets its power from its galaxy of extensions that provide support for different languages. Python developers have a bevy of Visual Studio Code extensions, but the most popular and easily the most overarching is Don Jayamanne's extension. It's been kept current with every late-breaking version of Python, and it integrates support for all the good things you'd want: snippets, code linting, auto-completion, integration with scientific tools like Jupyter, refactoring, unit testing, debugging, and tons more.

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 a la Don Jayamanne's work 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.