All set to play with Python? Python IDE is the first thing you need to get started with python programming. There are many IDEs available out there in the wild and selecting one can be a daunting task.
You can get started with Python programming in a basic text editor like notepad or choose to go ahead with a complete and feature-rich Python IDE like PyCharm, Pydev, Emacs, or Eric.
Selection of the right editor can greatly influence the productivity and effectiveness of Python programming. Professional programmers invest time well in advance and go for the IDE that best meets their requirements.
Which one should you go for? This is something that you have to decide and totally depends on what you like, need, and can afford. You might need to try a few before narrowing down to the final one.
Most of these IDEs are supported on multiple platforms including Windows, Mac, Linux and are available free of cost. If you are a student planning to learn Python, I recommend freely available IDEs like Pydev with Eclipse, IDLE, Emacs, PTVS with Visual Studio Code, or VIM.
If you are looking to do something in data science, then IDEs like Spyder, Pycharm Pro version, and Jupyter Notebook would make more sense.
Commercial IDEs are typically bought by enterprises and professional developers, to work in teams, on large scale complex projects. Some of the best editors in this category include PyCharm Professional, Wing IDE, Komodo, and Sublime Text 3. Most of these commercial editors also provide a free community version by cutting down on some of the features.
If you simply want to play around with python or run and test some python code, then an online Python editor too will do the job for you. Repl.It – Python3 is a good option to try, others include pythonanywhere.com, JDoodle and there are many more.
Let us look see which one is the best Python IDE in terms of features offered, developer productivity, collaboration, ease of use, community support, and is popular among Python developers.
1. Pydev with Eclipse – Best Python IDE (Free Tier)
Pydev is the Python IDE for masses for the simple reason that it is free of cost and comes packed with powerful features for efficient Python programming. It is an open source plugin that runs on top of Eclipse and brings Python to the kingdom of Eclipse.
If you are an existing Eclipse user then Pydev is just home for you, if not, then Eclipse might sound intimidating in the beginning but worth the efforts.
Key features that keep Pydev on top of the list include Django Integration, Auto code completion, Multi-language support, Integrated Python Debugging, code analysis, code templates, smart indent, bracket matching, error markup, source control integration, code folding, UML Editing and viewing, and unit test integration.
Pydev project was created long back in 2004 by AleksTtotic and is currently run and maintained by Fabio Zadrozny. Pydev is kept updated with the latest and modern set of features with the help of amazing user community and sponsorship from corporates like Liclipse, Squish, TraceTronic, and many more.
While Pydev easily qualifies as the best open source Python IDE, it also comes packed along with another product named Liclipse. Liclipse is a commercial product built on top of Eclipse and provides usability improvements and additional theming options.
Apart from Python, Pydev IDE supports Jython, IronPython, and much more. You can download Pydev here at – Download Pydev Eclipse for Python.
Ready more about Pydev at the official website at – pydev.org.
2. PyCharm – Best IDE for Python (Commercial Version)
PyCharm is a full-featured IDE for Python from the house of a company named JetBrains. JetBrains is making top-notch developer tools for the last 15 years with an aim to make development easier and enjoyable.
PyCharm is a professional Python IDE and comes in two flavors – Free community Edition and a much advanced professional edition that targets enterprise developers. The popularity of PyCharm can be gauged from the fact that big brands like Twitter, Groupon, Spotify, eBay, and Telefonica, etc. have also used PyCharm Python IDE.
Most of the features are available in the free version itself, including intelligent code completion, intuitive project navigation, on the fly error checking and fixing, code quality with PEP8 checks and smart refactoring, Graphical debugger, and test runner.
It also integrates with the Jupyter notebook (formerly IPython Notebook), supports Anaconda as well as other scientific packages like matplotlib and NumPy.
There are other more advanced features like remote development capabilities, database support, web development frameworks support, etc. and are available only in the professional edition of PyCharm.
What I like the most about PyCharm is its support for multiple third-party web development frameworks like Django, Pyramid, web2py, google app engine, and Flask which makes it a complete Rapid application development IDE.
You can download community Edition (free of cost) of PyCharm Python IDE here at – Download Pycharm community edition.
You can read more about PyCharm at – jetbrains.com/pycharm.
VIM is one of the most advanced text editors and is a very popular one among the community of Python developers. It is open source and available free of cost under a GPL license.
Vim though is best known as an editor but it offers nothing less than a full-featured Python development environment when configured correctly for Python development. VIM is lightweight, modular, and fast and is best suited for programmers who love keyboards and only keyboards, no mouse use while coding.
Initial configuration can take a bit of time since you need to use multiple VIM plugins to make it work the way you want it to work, but what you get in the end is worth the efforts. Looking for a Linux Python IDE, VIM can easily be your default choice.
You can read more about VIM here at – Vim.org.
4. Wing IDE
Wing IDE is another commercial Python IDE from the house of the company named Wingware and targets professional developers. Wing IDE was launched 15 years back and is a very mature product and provides most of the modern set of tools and features required for Python programming.
Wing IDE is supported on Windows, OS X, and Linux and works with the latest Python versions including stackless Python. Wing IDE has a basic version that is free of cost, a personal edition, and a much powerful professional edition.
Debugging is something where Wing IDE shines the most and includes features like multi-process debugging, debugging of threaded code, auto child process debugging, breakpoints, code stepping, code inspection data, etc. It also offers features to remotely debug code running on Raspberry PI.
With regards to code management, it is very flexible with Git, subversion, perforce, CVS, Bazaar and Mercurial and includes diff and merge tools.
Wing IDE also supports a plethora of Python frameworks including Maya, MotionBuilder, Zope, PyQt, PySide, PyGTK, PySide, Django, matplotlib, and many more.
You can read more about Wing IDE here at – Wing IDE from Wingware.
5. Spyder Python
Spyder Python is an open source IDE for Python, best suited for scientific python development. It is lightweight software, written in Python itself, and available as free to use under MIT license.
Some of the basic features of Spyder python are multi-language editor, interactive console, documentation viewer, variable explorer, Find in Files, files explorer, etc. It can get Spyder IDE package for windows, Mac, or Linux.
Though Spyder is a standalone IDE that is supported on multiple platforms including Windows, Linux, macOS, macOS X, it can be also utilized as a PyQt extension library and can be embedded in PyQt applications.
You can read more about Spyder Python IDE here at – github.com/spyder-ide/spyder.
6. Komodo IDE
Komodo IDE is a cross-platform IDE from a company named Activestate and supports multiple languages including Python. It is a commercial product but offers an open source free version by the name Komodo Edit and can be installed on Mac, Windows, and Linux.
Full-featured Komodo is offered free of cost to qualified educational institutions where teachers and professors can use it in labs and for teaching purposes. Students also get the licenses at a much-discounted rate.
Like most of the Professional Python IDEs, Komodo also includes basic features like code refactoring, auto-complete, call tips, brackets matching, code browser, go to definition, graphical debugging, multi-process debugging, multithreaded debugging, breakpoint configuration, code profiling, integrated unit testing and integration with third-party libraries like pyWin32.
With the latest version release, Komodo is giving tough competition to the best Python Editors like PyCharm, Pydev, and Wing IDE by offering features like package manager integration, track changes, markdown viewer, shell scope, quick bookmarks, go to anything (Commando) and many more.
Download free version of Komodo IDE here – Komodo Edit download.
Read more about Komodo IDE here – Komodo IDE.
7. PTVS – Best Python IDE for Windows
What Pydev is to Eclipse PTVS is to Visual Studio. PTVS or “Python Tools for Visual Studio” transforms Visual Studio into a powerful and feature-rich Python IDE, and it is open source and totally free. PTVS is the most recent entrant in the world of Python IDEs and was released in the mid of 2015. It is developed and maintained by the community and Microsoft itself.
PTVS is supported on almost all free versions of Visual Studio and includes below editions for both VS 2015 and VS 20013.
- Community Edition
- Express for Web
- Express for Desktop
Some of the key features of PTVS include support for Python, IronPython & CPython, code editing & browsing, profiling, Python/C++ debugging mixed, Linux/macOS remote debugging, IntelliSense and IPython. It also supports web development with Django and many other frameworks.
It is without any doubt give you the best python IDE for windows among the free tier and If you are a visual studio user already and want to try your hands on Python, you need not look for anything beyond PTVS.
Know more about PTVS at – PTVS Python IDE.
8. Eric Python
Eric is another open source Python Editor and IDE that comes packed with most of the features required for efficient programming. It is written purely in Python and is based on the Qt GUI toolkit and integrates powerful Scintilla editor control.
Eric is the creation of Detlev Offenbach and is free to use under GPL license. Over the years of development, Eric has emerged as one of the most used and features rich IDE. It offers a solid plugin management system and can be extended with the use of plugins.
Eric provides all basic features like call tips, folding, highlighting, class browser, profiling, and code coverage, etc. but the key features that make Eric competitive enough with commercial python IDEs like PyCharm, Wing IDE or Komodo are –
- Integrated task management
- Unit test support – integrated
- Rope refactoring
- Core Plugins for Regex and Qt dialogs
- Option to launch third-party apps from within the editor
- Application diagrams.
- Project management capabilities
- Interactive python shell
- A multi-lingual user interface that includes English, German, Russian, French, Czech, Spanish, Italian, Turkish, and Chinese languages.
- Version control for Subversion, Mercurial, and Git using add on plugins.
- And many more.
Eric can easily be counted as the best IDE for Python in the free tier. You can read more about Eric Python here at – Eric Python IDE.
9. Sublime Text 3 / Anaconda Python IDE
Sublime Text 3 is one of the most powerful cross-platform lightweight code editors to date. With the use of plugins Sublime Text 3 can be used as a full-featured IDE – the Sublime Python IDE. You get the elegance of sublime text and powers of Python at one place to create your own magic.
The most powerful transformation is brought to you by Anaconda package which provides code completion and linting for Python. While Anaconda takes care of the basics, there are tons of themes, lightning-fast user interface, easy configuration, tons of packages for more powerful features.
You can read more about Anaconda Python IDE here – Sublime Text 3 as Python IDE.
10. Emacs – Python Editor cum IDE
Emacs has an ecosystem of its own. It is the GNU text editor which is extensible and highly customizable. When it comes to Python programming, Emacs can be configured in such a way that it gets transformed into a fully functional free Python IDE.
Emacs is so popular for Python development that it provides out of the box Python support via python-mode. Emacs can be configured further for more advanced features by using additional packages.
New Addition 1: IDLE – Comes with Python
IDLE is suitable for beginners and students, it is built-in Python itself using the Tkinter GUI toolkit and comes packed with Python itself.
I would call it a minimalist and not fit for large scale complex projects. Some key features of IDLE include –
- Shell window and editor window, option to keep open multiple windows in parallel.
- Cross-platform and available on Mac, Windows, and Linux.
- Easy debugging with the use of breakpoints
- Lightweight, hassle-free, and easy to work with.
Learn more here – IDLE Python IDE
New Addition 2: Jupyter Notebook
JupyterLab seems the odd one out here but a very interesting one It is the web-based environment that can be configured to work with scientific computing, machine learning, AI, and much more. No installation, no setup, open in the browser, and get going.
You can use the browser to write new modules, plugins, components, integrate with other projects and possibilities are all in your hands.
Official Website – Jupyter Notebpok
Python is a very old programming language and there are many Python IDEs available since the beginning of time, however, the overall programming landscape is fast-changing and so are the Python IDEs.
All the IDEs mentioned in this article come with different flavors but attempt to meet one common requirement i.e. speed development with scalable and manageable code.
Let us know your experience with Python programming and the Python IDE of your choice via comments, cheers!!