Python IDEs and Code Editors

A code editor is a tool that is used to write and edit code. They are usually lightweight and can be great for learning. However, once your program gets larger, you need to test and debug your code, that's where IDEs come in.

An IDE (Integrated Development Environment) understand your code much better than a text editor. It usually provides features such as build automation, code linting, testing and debugging. This can significantly speed up your work. The downside is that IDEs can be complicated to use.

How to choose a Python IDE/code editor that serves your purpose?

To make this task easier, we have created this guide. All tools mentioned in this guide are available on Windows, Linux, and MacOS

I want a Python IDE/code editor for:

  • Learning
  • Development

Show Python IDEs Programiz recommend:


1. Online Compiler from Programiz

For: Beginner     Pricing: Free

If you want to start writing Python code without investing time installing Python and setting up a development environment, you can use our online Python compiler. You just need the internet and a browser to get started.

By the way, our online interpreter is completely free.

Python online compiler


For: Beginner     Pricing: Free

When you install Python, IDLE is also installed by default. This makes it easy to get started in Python. Its major features include the Python shell window(interactive interpreter), auto-completion, syntax highlighting, smart indentation, and a basic integrated debugger.

IDLE is a decent IDE for learning as it's lightweight and simple to use. However, it's not for optimum for larger projects.

Python�s Integrated Development and Learning Environment

Learn more: IDLE features

3. Sublime Text 3

For: Beginner, Professional     Pricing: Freemium

Sublime Text is a popular code editor that supports many languages including Python. It's fast, highly customizable and has a huge community.

It has basic built-in support for Python when you install it. However, you can install packages such as debugging, auto-completion, code linting, etc. There are also various packages for scientific development, Django, Flask and so on. Basically, you can customize Sublime text to create a full-fledged Python development environment as per your need.

You can download and use evaluate Sublime text for an indefinite period of time. However, you will occasionally get a pop-up stating "you need to purchase a license for continued use".

Sublime text for Python development

Learn more:

4. Atom

For: Beginner, Professional     Pricing: Free

Atom is an open-source code editor developed by Github that can be used for Python development (similar Sublime text).

Its features are also similar to Sublime Text. Atom is highly customizable. You can install packages as per your need. Some of the commonly used packages in Atom for Python development are autocomplete-python, linter-flake8, python-debugger, etc.

Personally speaking, I prefer Atom to Sublime Text for Python development.

Atom for Python development

Learn more:

7. Visual Studio Code

For: Professional     Pricing: Free

Visual Studio Code (VS Code) is a free and open-source IDE created by Microsoft that can be used for Python development.

You can add extensions to create a Python development environment as per your need in VS code. It provides features such as intelligent code completion, linting for potential errors, debugging, unit testing and so on.

VS Code is lightweight and packed with powerful features. This is the reason why it becoming popular among Python developers.

VS Code

Learn more:

8. Vim

For: Professional     Pricing: Free

Vim is a text editor pre-installed in macOS and UNIX systems. For Windows, you need to download it.

Some developers absolutely adore Vim, its keyboard shortcuts, and extendibility whereas, some just hate it.

If you already know how to use Vim, it can be a good tool for Python development. If not, you need to invest time learning Vim and its commands before you can use it for Python.

You can add plugins for syntax highlighting, code completion, debugging, refactoring, etc. to Vim and use it as a Python IDE.

VIM for Python development

Learn more: Vim for Python development

9. Spyder

For: Beginner, Professional     Pricing: Free

Spyder is an open-source IDE usually used for scientific development.

The easiest way to get up and running up with Spyder is by installing Anaconda distribution. If you don't know, Anaconda is a popular distribution for data science and machine learning. The Anaconda distribution includes hundreds of packages including NumPy, Pandas, scikit-learn, matplotlib and so on.

Spyder has some great features such as autocompletion, debugging and iPython shell. However, it lacks in features compared to PyCharm.

Spyder IDE

Learn more: Spyder Official site

Honorable Mentions

  • Jupyter Notebook - open-source software that allows you to create and share live code, visualizations, etc.
  • Eclipse + PyDev - Eclipse is a popular IDE that can be used for Python development using PyDev plugin.

Recommended Reading: What IDE to use for Python?

Did you find this article helpful?