Best Python IDE in 2018


Introduction

Only skills do not make a craftsman better than others. A good craftsman equipped with the best tools is more powerful. We the programmers can work faster, smarter and better with better programming tools. In this case Integrated Development Environments (IDE) are the most important ones.

Python is a very popular programming language. According to StackOverflow developer survey it is the most wanted programming language. Python is an open source programming language (many people call it a scripting language). With the help of Python you can develop web, desktop and mobile applications (though it is not a practical decision to develop mobile applications with Python). In this article I am going to present you the 10 best IDE for Python application development.

Note

If you are a beginner Python programmer, you should avoid using IDE at the beginning.

PyCharm IDE from JetBrains

Keeping my eyes close I can assure you that this is the best IDE for you if you are a Python programmer. I am programming in Python for more than ten years now. In this long journey I used various types of tools for programming. If you are an old guy like me you can remember that there was a small but very powerful Python IDE for mobile many years ago - I mean the infamous Symbian OS. I used that tool also for a long time. Even I used to code and develop applications on the go, on buses, on other vehicles - whenever I got some times wherever I am I used put my hand in my pocket, hold the phone and start coding.

I used all the other IDE mentioned in this article, but if you ask me to close my eyes and ask me to talk about the best IDE for Python I would talk about PyCharm. It's really really charming. If I start to talk about its pros then I can write a book on it. I intend to write some articles on PyCharm later.

With the help of PyCharm you can code in Python, JavaScript, Typescript, HTML, CSS, Angular, Node.js and a lot of other things. It has integrated unit testing, code checking, integrated version control, code refactoring tools, code suggestion, error checking and a lot of cool stuffs. It has good support for a bunch of third party frameworks for web development, such as Django, Pyramid, web2py, Google App Engine and Flask, etc. All the cool features make it a rapid application development tool.

The Best Python IDE

PyCharm has two versions, one is free and the other is premium. The free version is called the community version. If you are not a pro yet, then the community version is enough for you. In the premium version you will get some added benefits. For example, when you are developing web applications using Django or Flask and you need syntax highlight, code completion and suggestion for template languages (e.g. Jinja2) available in Python you will be disappointed using the community version. If you have got some extra money, consider buying the premium version.

To download PyCharm got to JetBrains Oh, I forgot to tell you that PyCharm is cross platform, you can use it on Windows, Linux and Mac. If you are thinking about the mobile devices, then you are in bad luck.

Python IDLE

The Second Best Python IDE You might be wondering why I am putting this in the second place on this list when this is a very basic and simple IDE (many people are also reluctant to call it an IDE - they prefer call it an editor). If there is any best IDE with simplicity then this is that IDE. It is the best friend you will get from time to time and you will not have to put some extra effort to get it on your side. It has almost all the features you need, but with the most basic facility. For example you will get code completion but you will not find it that useful.

The best thing you will get out of it is the shell. As it comes first when you open it, you can test any code right away with much less effort. I do not know of any programmers who do not use it (at least less often). This is my best tool when I have an idea in my mind and I need to test that fast.

I told you that this is the friend you will get without effort. On most Python installations with GUI support you will get this one by default. Usually on Linux systems you will need to separately install it and that is just one line of command on your command line and a hit on your enter button and you will not need any extra configuration, neither you will need to setup the project folder. It is a ready, set, go thing.

But, keep in mind that if you are doing a serious professional project then you should avoid it. Actually when I am working on big projects I use PyCharm (actually I almost always do) and often during that development I pop open IDLE and test out my ideas on the shell. Honestly speaking I love its shell. Though Jupyter has got a good shell but not as handy as this one.

Sorry, it has no separate website, it comes with Python.

PyDev

Eclipse has a lot of IDEs for various programming languages and frameworks. Eclipse was primarily crated focusing on Java. But, you can extend it the way you like with the help of plugins. It has support for almost all the living languages and frameworks available on earth.

To develop Python applications with yous familiar eclipse interface use the PyDev plugin for eclipse. This is the IDE that comes in the fourth or fifth position in time I spent on different Python tools.

It is supported on Windows, Linux and Mac. It is open source and free. To unlock some feature you do not need to buy anything. Notable features of it are code organization, integrating debugging, refactoring tools, and other features usually available on Eclipse. It also has native support for Django projects and commands with hot keys support.

Browse the Website: pydev.org

WingWare

This is a closed source IDE. It has a powerful debugging tool that allows you to set breakpoints, step by step code execution, data validation, remote debugging, and also debugging of Django templates. It supports matplotlib with automatic updating of graphs (cool huh!). You will also get code refactoring, syntax highlighting, source tree browser, graphical debugger and version control systems supports. It is available on for Windows, Linux and MacOS.

Go to the Website: wingware

Komodo IDE

I do not want to talk much about this IDE, try and check it yourself. It has Django support and syntax highlighting and code completion for templates. Among the basic functionality you get code refactoring, auto completion, call tips for functions, methods and classes, code tree browser, graphical debugging, multi process debugging (this is a cool feature), multi threaded debugging, stop point configuration, code profiling, integrated unit testing and integration with third-party libraries, such as pyWin32. It also has package manager integration, change tracking, a note viewer, quick bookmarks, and much more.

It is support on Windows, MacOS and Linux.

Browse to the website: activestate.com/komodo-ide

Eric

Among some good features it has debugger, code coverage tools, automatic code checking, Python shell, class browser and much more. It has cool features of joint editing, options for creating third party applications right in the editor, application diagrams, project management capabilities, and the interactive Python shell, version control for Subversion, Mercurial and Git, multilingual interface and much more.

Check it on the website: eric-ide.python-projects.org

Eclipse

Eclipse is so widespread that if you know some of the above IDEs, there is no possibility that you do not know about this. Previously I mentioned about PyDev that is a plugin for Python development in the eclipse environment. Usually you will need to install PyDev into eclipse, but for the lazy people there is a ready made eclipse that you can use right away without the extra installation process. You can code in Python in eclipse without installing the plugin and in that case you will not get cool features like integrated unit testing, code coverage and other cool stuffs.

Website: eclipse.org

Geany

I often use this on my Ubuntu machine. This IDE is available under GPL license and support for Linux, Windows and Mac. It provides support for parentheses matching, built-in debugging, auto code completion and support for multiple languages.

Website: geany.org

Spyder

This is an open source IDE for Python development that is freely available under the license MIT. You can get its source code on Github. It has a multi language editor, an interactive console, a documentation viewer, a code browser, a file finder and more. Although Spyder is a standalone IDE that is supported by many platforms, such as Windows, Linux, Mac, it can also be used as a PyQt extension library and can be integrated with PyQt5 applications.

Github Repository: github.com/spyder-ide/spyder

PyScripter

This is a free IDE for Python. It has support for projects, debugging and various other editing tools along with Python source code utilities.

Website: sourceforge.net/projects/pyscripter/

Conclusion

Remember that an IDE will not make you smarter and better if you are not smarter and better as a Python programmer. If you are a beginner, then think less about IDE and more about on perfecting your logic. If you are a professional developer then IDE will be your best friend to speed up your development work. Keep coding in Python 3.

One more thing, as we have advanced much in our journey of civilization, try to avoid Python 2 as much as you can. Also, try to practice asynchronous programming and for that try to avoid any Python version less than 3.5, use 3.6+ when you can.

Need a practical Python course or training? I have 10+ years of experience teaching it. You can get premium remote training. If you are in Bangladesh, you can get Professional Python Training attending my classes physically.

Need a project done by an experienced Python programmer. No matter how big is that I am here to help you. Don't forget to send an introduction mail.