Best IDE for Python in 2018

INSUBCONTINENT EXCLUSIVE:
Our first baby steps with Python, which typically involve making a 'Hello World' program and a couple of typos, don't require much in the
way of specialist tools
It's fine to hammer out the code in a text editor, switch to a terminal, and then run it
When it doesn't work, you can return to the editor, fix the typos, then run it again.However, as coding and testing becomes more
complicated, involving multiple files and unit tests, these context switches become inefficient and frustrating
Life is easier when we can write, run and wrangle our code from the same place.Exactly where a fancy text editor stops and an Integrated
Development Environment (IDE) begins is a fuzzy boundary
At a minimum, you'd want an application that: does syntax highlighting, code-folding and bracket-matching, has some awareness of the
constituent source files of a project, and facilitates running the code (or part thereof)
More advanced features might include code suggestions, a debugger, and integration with online repositories.In this article we've picked
five of our favorite IDEs, which are efforts that we feel give a good overview of what's on offer.1
AtomAn IDE that facilitates pretty much anything you can think ofClean and smart interfaceComprehensive package managerSizeable memory
footprintAtom describes itself as a "hackable text editor for the 21st Century"
It's maintained by social coding megalith GitHub, so as you'd expect it can do pretty much anything you can imagine
And if it can't, then someone's almost certainly working on a plugin to address that.Atom has its own comprehensive package manager, and a
huge community working on packages for it
As well as built-in Git and GitHub integration, Atom allows you to collaborate on coding projects in real-time via the Teletype package
Several thousand other packages are available, but Python coders looking for a more efficient workflow would do well to seek out a script
package.This offering is based on the electron framework, so Atom is cross-platform, but also has a not inconsiderable memory footprint
Coders who prefer their apps to be lightweight will balk at the 400MB (including its dependencies) install footprint and should look
elsewhere
its features, Atom has a clean interface and is much more beginner-friendly than you'd expect
The project view is helpful once you start to dabble with bigger projects and you are free to split the panels of the interface to suit your
fancy.2
IDLE (named after Monty Python's Eric Idle) is fairly minimal compared to some of the other offerings around, but it has everything you need
Starting IDLE will open a Python shell, just as you get when starting Python from the terminal
You can play around with code snippets here, with the bonus that keywords and output will be nicely colored.Moving on from here you can open
a new window to start coding proper
Your code will be appropriately highlighted and automatically indented, with a configurable indent level
It has a powerful debugger which allows single-stepping through the code or over-stepping through each high level function
The debugger shows the call stack as well as the state of local and global variables.3
It's developed at the University of Tartu in Estonia, and is itself written in Python
It features a powerful debugger that's great for learning the ins and outs of coding without worrying about how breakpoints work.The
debugger can show you the state of variables as the program runs
print() statements.Thonny will automatically indent as you type, which is helpful for anyone new to Python since the language uses
indentation to delineate functions, loops, classes, clauses, etc
It will autocomplete your code and provide bracket/parentheses matching
It will also helpfully highlight any syntax errors.It would be ideal for beginners, but for the fact it's a little tricky to install if
you're unfamiliar with Python packages and in particular pip (a package manager for Python)
That said, it is included as standard in new versions of Raspbian and is well-suited to Raspberry Pi projects
It's just a shame that other distros don't include Thonny in their repos.4
all things open source
The company may not be about to release the source code to Visual Studio, but in 2015 it did release a source code editor, Visual Studio
Code has since become rather popular amongst developers, and it's a fine choice for your Python projects too, once you've installed the
Python extension, that is.Code has its own debugger, supports linting, and has integration with all manner of source control tools
It has a built-in terminal too, and a well-stocked extensions marketplace (don't worry, they're free)
It can also run and debug your project's unit tests through the unittest, pytest or nose frameworks.If all this sounds a little too much, it
also has a minimalist 'zen mode' which shows you only the file you're working on, hiding not just Code's interface, but the rest of your
the corresponding section of the settings.json file, all nicely highlighted of course.Like Atom, code is an Electron app, so is
cross-platform and a little bulky
Unlike Atom it has support for Intellisense, Microsoft's own take on code completion
For Python, as well as just suggesting completions, this also provides on-the-fly popups showing the documentation for classes and methods.5
ericPowerful offering with support for real-time collaboration on codeGreat for serious coding workExcellent support for Ruby, tooInterface
Though Python is its focus, eric (lowercase is the intended spelling) has excellent support for Ruby, and other languages too
It supports the bread and butter tasks we've come to expect: code folding, code completion, brace matching.But there's so much more that
you'll need to use its built-in (and automated) TODO list generation to keep track
It has an integrated class browser and powerful debugger, and thanks to being built-in Qt supports building GUIs via Qt Designer
The initial configuration screen may seem daunting, but most of it can be put off till later.While the interface does look busy, there's no
reason you can't use eric as a simple code (or even plaintext) editor
It supports unit tests and can debug both multithreaded and multiprocessing programs, which as anyone who dabbles in such things will
testify, generate the worst kind of bugs.It supports Mercurial and SVN version control natively, and Git support is available through a
plugin
Like Code, there's support for real-time collaboration on code
In short, if you want a feature-rich Python powerhouse, eric is for you.VgWjLJQq5sdnvtAhEsQT6E.jpg#