Python programming can be done from the command line, but an IDE makes life so much easier. With so many options out there, which one should you use? To help you decide, I've looked at five Python editors (all free). Although Python has been more of a Linux programming language, the last few years have seen its increasing use on Windows, so many of the five are cross-platform. They are:
- Eclipse plus PyDev and other plugins
- Eric Python IDE
- PyCharm Community Edition
I chose these five because they're mostly cross-platform (PyScripter is the exception), and they’re open source. Click here to find python development jobs.
Bear in mind that not only do you have to choose whether you’ll use Python 2.x or 3.x, you also may need to choose between 32- and 64-bit. I believe that now is a good time to go Python 3, and the bit size depends on your system. Make sure you have your Python installed before you install an IDE.
This is the 800-pound gorilla of open-source IDEs and supports a whole ecosystem of languages. Java, of course, is the main programming language supported. That's not surprising, as Eclipse is written in Java, but there are also pre-built versions for C/C++ and PHP. Python hasn't been accorded that honor yet, but the PyDev plugin makes it easy to use. It has to be installed separately, but once set up it will pick up future updates.
PyDev supports Python, Jython and IronPython (the .NET Python). It gives you the power of the Eclipse editor plus code folding, matching brackets and many more features. Most important is its debugging tools—you get expression watch, breakpoints and lots more. Plugins allow you to extend the platform with Myllyn for task management and Subclipse for subversion. The only con is that Eclipse can be a bit of a memory hog. But if you're used to it, PyDev is a no brainer.
Developed by Kiriakos Vlahos, PyScripter is the only package here that's restricted to Windows (it's written in Delphi). It’s a nice, snappy IDE that supports projects, editing files and debugging. It's not as complicated or powerful as Eric (see below), but if you’re just starting to learn Python on Windows you may find it a lot less intimidating and a great way to start. By default, it picks up the Python 2.7 installation (it needs Python installed first), and it's easy enough to switch paths to Python 3.4.
Eric—named for the Monty Python team member Eric Idle—is a cross platform IDE for Python and Ruby. It comes in two flavors: Eric 4 for Python 2.x and Eric 5 for Python 3. Before you can run it, you need to install PyQt, which is a quick 30 MB download. After that, the installer builds and installs Eric for you. My first impression is that it gives Visual Studio and Eclipse quite a challenge: as well as editing and debugging capabilities, it has project management, plugin support, a nice Python shell, and lots more. If you really want to know Eric in depth, you'll need to download and read the free 250-page PDF on its technical aspects. I was very taken by it. Eric looks good and there's a lot of thought behind it.
This is the community—i.e., free—version of the JetBrains IDE. JetBrains is well known for Resharper and other development tools, and there's a professional version of PyCharm, as well. PyCharm feels a little like Eclipse. It's very slick with the usual JetBrains attention to detail. Though it’s nowhere near as full-featured as the commercial version, the free IDE includes refactoring, code inspection, integration with Git, Mercurial, CVS, Subversion, GitHub, and of course debugging. It's slick and polished.
Developed by Professor Scott Rixner at Rice University, this is slightly different from the rest as it's a browser-based IDE. I've included it because it's how I learned Python online and you never forget your first time. It's for Python 2.6. The IDE is a Web page with code on the left and output messages on the right. Just click the run button (top left) and it either picks up your mistakes or runs it.
I can't decide which is the best: the slickness of PyCharm, the features of Eric, the simplicity of PyScripter. I'm leaning toward Eric because it's just so full-featured, but that's a personal preference. One thing is sure—it's a great time to learn Python with excellent tools like these that won't cost you a penny.
- Is the Time Right to Learn Python 3?
- Python Tops Popular Languages for College Intro Courses
- 4 Python Frameworks You May Not Know About