Join Hackr.io to get personalized course recommendations for you.

10 Best Python IDE & Code Editors

Posted in Python
10 Best Python IDE & Code Editors

Launched for the first time in 1991 by its creator Guido Van Rossum, Python is one of the main programming languages ​​generally used to automate certain repetitive tasks. Over the years, the language has evolved enormously with the contribution of many developers/programmers. Easy to understand, efficient and fast, if you are new to programming, it is strongly recommended to start learning Python before you start learning other more complex languages. Python interpreters are available on several operating systems such as Linux, MacOS, and Windows.

From the first years of its launch until today, the Python programming language has always been one of the preferred languages ​​of coders, a choice that can be explained in particular by the many advantages of this programming language. Python is a very versatile language, which means that it can be used in many applications ranging from Blender (3D modeling software) to web development.

You can write Python code using a shell or shell for small projects. However, if you want to work on larger projects, it is recommended that you use a dedicated code editor or an integrated development environment (IDE).

You will notice that it is difficult to place a Python IDE or code editor on the podium of "Best IDE of all time" because each differs from the other in terms of its features, user interface, and so forth.

10 Best Python IDE & Python Code Editors

To help you choose your Python IDE, we have compiled a list of some of the popular Python IDEs. Based on functionality, the number of users, and positive feedback from each user's experience, here is the list:

1. Eclipse + Pydev

Eclipse

Platform: GNU/Linux/macOS/Windows/Solaris

Official website: https://www.eclipse.org/; http://pydev.org/

Type: IDE

Eclipse is an integrated development environment (IDE) historically designed for the Java language but thanks to a system of plugins or extensions, it can be used with other programming languages including C/C++ and PHP. Pydev is a plugin that allows Eclipse to be used as a Python IDE that also supports Jython and IronPython. Pydev uses advanced inference techniques to provide elements such as code completion and code analysis. Pydev also provides the following features: debugger, Django, an interactive console, basic syntax highlighting, code coverage, etc.

Pydev is totally free, platform-independent, and promotes excellent integrity with the Eclipse universe. Thanks to the efforts of the developers and the evolution of technology, python development has become almost comparable to Java development on Eclipse, making the experience much more impressive and exceptional. To know more about Pydev

Advantage:

  • Pydev is easy to learn, includes several features (CPython, Jython, IronPython) and the Pydev plugin to code in Python on Eclipse;
  • Code Completion and Code Analysis

Disadvantages:

  • User interface not very enriching

2. Pycharm

Pycharm

Platform: Linux/macOS/Windows

Official website: https://www.jetbrains.com/pycharm/

Type: IDE

Pycharm is an integrated development environment developed by JetBrains and used to program in Python. It stands out from the competition thanks to its productivity tools such as quick fixes. Available in three versions, the Apache-licensed Community version, the Educational (Edu) version, and the proprietary Professional version. The first two versions are open source and therefore free of charge, while the Professional version is not free.

The Community version is very interesting because it has different features such as syntax highlighting, auto-completion, and live code verification. The paid version obviously has more advanced features such as full database management and a multitude of more important Frameworks than the community version such as Django, Flask, Google App, Engine, Pyramid and web2py.

Advantage:

  • Active community support
  • Live code verification and syntax highlighting
  • Executes edits and debugs Python code without any external requirements

Disadvantage:

  • Slow loading time
  • The default setting may require adjustment before existing projects can be used

3. Sublime Text

Sublime Text

Platform: Linux/macOS/Windows

Official website: http://www.sublimetext.com/

Type: Python Text editor

First conceived as an extension for Vim, Sublime text is a generic text editor coded in C++ and Python. Since version 2.0 this software supports 44 major programming languages including Python. It was first published in 2007 and Jon Skinner is its creator. To create this software, Jon Skinner has adopted three principles:

  • Discreet, minimal interface: we must be able to focus on the text and not a myriad of toolbars;
  • The text is not hidden by the windows;
  • Use as much space as possible: full screen, multi-screen, side-by-side file editing should be possible.

Once you have installed Sublime Text as a Python IDE thanks to the different plug-ins and packages, you get high quality and powerful IDE that allows you to develop very easily in python. It incorporates most of the features of a basic Python text editor, including customizable syntax highlighting.

Advantage:

  • Fast and very few bugs (big advantage)
  • Opens large files
  • Support for many languages

Disadvantage:

  • Difficult to modify, everything goes through JSON
  • License required
  • Learning the shortcuts

4. Visual Studio Code

Visual Studio Code

Platform: Linux/MacOS/Windows

Official website: https://code.visualstudio.com

Type: IDE

Developed by Microsoft for Windows Linux and OS, VS Code is an extensible code editor not to be confused with Visual Studio. Indeed VS Code is small but complete and the software is open source under MIT license, this is what characterizes the difference between Visual Studio and VS Code. The first version of the VS Code was published on April 29, 2015. VS Code is comparable to Atom in terms of functionality. Indeed, just like Atom, VS Code is built on Electron, which means that these two programs have almost the same advantages and disadvantages.

VS Code is Microsoft's project with the highest number of contributors on GitHub. This initiative has boosted Microsoft's notoriety and positioned it as one of the major players in community software. You can add a new language to the environment such as Python in this case. Simply download and install the corresponding plug-in to adapt it to the environment. Vs Code is enhanced with features such as the integration of a powerful code auto-completion engine (IntelliSense), a debugging console and a terminal to launch server commands.

VS Code is very well designed overall and its main advantage is that it offers an extension-based architecture and because the IDE is lightweight, it can be extended by adding successive components as needed.

Advantage

  • More than 4700 extensions
  • A powerful code management engine
  • On-demand import of keyboard shortcuts from other Python editors such as Sublime Text or Atom

Disadvantage:

  • VS Code is not really suitable for handling large code files
  • Difficulty to find the extension that best suits your needs due to the thousands of extensions available

5. Vim

Vim

Platform: Linux/MacOS/Windows

Official website: https://www.vim.org

Type: Text editor

Vim is a text editor, an editor allowing the manipulation of text files. Its source code was first published in 1991 by Bram Moolenaar, its main developer. Since then the software has evolved and been improved by its developer and also by the contribution of the developer community. Vim differs from most other python text editors in its modal mode of operation, note that Vim has three basic modes: insert mode, normal or command mode and command line mode.

Vim is free software and is largely customizable by adding extensions or modifying its configuration file, which means that you can very easily adapt it for development in Python. This software includes a multitude of features such as multi-buffers that support simultaneous file editing, automatic indentation adapted to the language and many others. To download Vim, simply click on this link https://www.vim.org/download.php

Advantage:

  • Software is feature-rich and provides a good user experience with community support
  • Recognition and conversion of file formats (UNIX, MS-DOS or Mac)

Disadvantage:

  • Not enough innovative features

6. GNU/Emacs

GNU Emacs

Platform: Linux/MacOS/Windows

Official website: https://www.gnu.org

Type: Text editor

Created in 1976 by Richard Stallman, Emacs (Editing MACroS running on TECO) is a family of text editors with an extensible set of features. This free software is very popular with the developer community.

Richard Stallman insisted on the fact that the software must be completely free and customizable without any restriction in programming. After a few years, many versions of Emacs have appeared, including GNU Emacs, initiated by Richard Stallman in 1984 and XEmacs launched in 1991. GNU Emacs uses a powerful extension language called Emacs Lisp that supports advanced tasks such as writing, compiling programs, surfing the Internet, reading email and discussion forums.

This software is available for free download and is available on all platforms. GNU Emacs uses various customization scripts for development in several languages including Python.

For Python development, you can use the Elpy extension on Emacs to work with Python projects. This software is very feature-rich. Among its many features, we can mention the highlighting of syntax to differentiate document elements such as keywords and comments; Automatic indentation to have consistent formatting in a file, etc....

Advantage :

  • Free and fully customizable software
  • Automatic insertion of elements required by the document structure, such as spaces, new lines, and brackets;
  • 24-bit color encoded support for the terminals supporting it

Disadvantage:

  • Not easy to use for beginners in programming

7. Atom/Atom-IDE

Atom

Platform: Linux/MacOS/Windows

Official website: https://atom.io/

Type: IDE

Atom includes most of the functionalities of a basic IDE. Among its features are syntax highlighting and auto-completion. Atom's developers are working on the integration of major programming languages such as Rust or Go. Atom is making progress in improving its performance and developers are extremely attentive to the needs and opinions of the community, striving to make the user experience more rewarding. There are improvements in the waiting time for opening the software and small improvements in the time required for important calculations to reduce latency, but more and more progress is to be expected in the coming months.

One of the reasons that have contributed to the Atom's success is its fully customizable interface. Everything can be changed, from the interface to the basic functions. On the other hand, this rather advantageous initiative is also one of the problems at the root of the program's latency. But overall Atom remains a very practical and functional IDE and we look forward to program updates.

Advantage:

  • Fully customizable interface
  • Well documented
  • Offers almost everything VS Code has to offer

Disadvantage:

  • Excessive RAM consumption
  • Further improvements are needed in system latency and optimization.
  • Not really suitable for handling large code files

8. Cloud9

Cloud9

Platform: Linux/MacOS/Windows

Official website: https://www.cloud9.gg

Type: IDE

Now part of Amazon Web Services (AWS), Cloud9 has managed to provide one of the best IDEs in Python and has increased the user experience to a new level. Indeed, Cloud9 has all the basic features that a developer who works on Python projects is looking for. Cloud9 provides the most advanced form of code completion. Cloud9 uses Pylint to track general errors, coding errors and style problems. You can apply these settings or customize them with a PyLintRC file or define them from the command line.

This IDE also supports Flask which is a Framework for lightweight applications. To work with Pylint, it gives you the Pylint-Flask plug-in. It supports versions, Python 2 and 3, which you can select in the configuration part of the project.

Cloud9 also supports several programming languages including C, C++, PHP, Ruby, Perl, JavaScript with Node.js and Go.

Advantage:

  • Completion of the code for extracts and identifiers
  • Support for both versions, Python 2 and 3

Disadvantage:

  • You need Internet access

9. Spyder

Spyder

Platform: Linux/MacOS/Windows

Official website: https://github.com/spyder-ide/spyder

Type: IDE

Named Pydee in its first versions, Spyder was created by Pierre Raybaut in 2008. It is cross-platform and under non-copyleft license (Non-copyleft free software is released by its author with permission to redistribute and modify it). Since 2012, it is the Python scientific community that has been maintaining Spyder thanks to their contribution.

Spyder has basic features such as syntax highlighting and auto-completion and also integrates many scientific use libraries such as Matplotlib, Numpy, IPython, Scipy. It is open-source and free of charge and also installation is very easy thanks to the Python package manager.

It offers a unique combination of advanced analysis, debugging, editing, interactive execution, in-depth inspection and visualization capabilities of a scientific software package. These main components are the interactive console, the documentation viewer, the variable explorer and development tools.

Advantage:

  • Community support
  • Rich in development tool features
  • Very complete documentation

Disadvantage:

  • Execution dependencies
  • Optional dependencies

10. Thonny

Thonny

Platform: Linux/MacOS/Windows

Official website: https://thonny.org

Type: IDE

Thonny is an integrated development environment (IDE). Developed by the University of Tartu in Estonia, this software has been designed mainly to make life easier for beginners in Python by providing them with a simple, lightweight IDE but with excellent features, it is a bit like the beginner's kit. This software is therefore particularly suitable for beginners who wish to start programming and development in Python and is therefore not at all suitable for development experts.

The user interface is isolated from all features that may distract beginners. It is really a well-thought-out pedagogical course for beginners who want to develop in Python quickly, easily and simply.

Advantage:

  • IDE adapted for beginners' learning
  • Basic and functional user interface
  • Does not require a large amount of memory to run

Disadvantage:

  • If you are an experienced developer, this software is certainly not for you
  • Only basic functionalities

Conclusion

Python is one of the most well-known languages and perhaps even the most popular. As with most major languages, you have a multitude of useful, practical and powerful IDEs, whether they are paid or free.

How to choose the best Python IDE in 2019? For beginners, there are a lot of IDEs with basic features allowing you to discover this environment and become familiar with each feature before moving on to the next level. For experienced developers, the choice of your IDE should be based on the performance and advanced features of IDEs for large projects.

People are also reading:

Share with us in the comments section: What is your favorite Python IDE and why?

Carl Matheous Simpao

Carl Matheous Simpao

Carl Simpao is a Software Engineer and a Business Intelligence Consultant. He advocates for progressive education through educational technology and modern constructivism type based education. In his creative career, he pursues the art of writing and in his free time writes short stories and poetry. View all posts by the Author

Leave a comment

Your email will not be published
Cancel
 Joan Morgan
Joan Morgan

Difference between PyCharm and Anaconda?

 Ruth Coleman
Ruth Coleman

Can I install both python and anaconda?

 Eric Lee
Eric Lee

What is the best Python IDE for beginners?

 Jeremy Jenkins
Jeremy Jenkins

Is Notepad ++ good for Python?

 Adam Williams
Adam Williams

What is the best editor for Python on Windows?

 Phillip Lewis
Phillip Lewis

How to install eric python ide windows 10?

 Patrick Anderson
Patrick Anderson

Should I use python text editor for machine learning?

 Daniel Foster
Daniel Foster

Which are good Python IDE for Linux?

Doris Reed
Doris Reed

What Python IDE should I use for machine learning?

Roger Diaz
Roger Diaz

Is Anaconda a Python IDE?

Howard R.
Howard R.

You can’t build a house without the right tools.

Get Pycharm.

Lukas
Lukas

Thanks for this fantastic overview! All of these tools have certain strengths and weaknesses. For many projects, it is quite common to combine some of these tools for different phases or components of a project.

Take a look at our open-sourced ML Workspace tool if you want to have many of the options from above accessible from one convenient web-based tool. The ML Workspace (https://github.com/ml-tooling/ml-workspace) is a web IDE that combines Jupyter, VS Code, a Desktop GUI, and many other tools & libraries into one convenient Docker image. This docker image is easy to deploy locally and on many cloud platforms. The ML Workspace is used productively within my company by hundreds of developers and data scientists to build machine learning solutions.

Stas
Stas

I like to use Codelobster IDE - http://www.codelobster.com

JemK
JemK

There are a mistake with "cloud9" logo and website