Python IDEs and Code Editors

Don’t spend too long trying out all possible options for code editors and IDEs. The most popular options are VS Code and PyCharm. If you can’t decide, pick one of these and start with it.

This text is part of a Real Python tutorial by Jon Fincher.


Writing Python using IDLE or the Python shell is great for smaller tasks, but those tools quickly turn larger programming projects into frustrating pits of despair. Using an IDE, or even just a good dedicated code editor, makes coding fun—but which one is best for you?

Fear not, gentle reader! Here, you’ll demystify the myriad choices available to you. What works best for you will ultimately depend on you and your process, but you’ll get the pros and cons of each option so that you can make an informed decision.

To make things easier, you’ll break your list into two broad categories of tools: the ones built exclusively for Python development and the ones built for general development that you can use for Python. You’ll explore some Whys and Why Nots for each. Lastly, none of these options are mutually exclusive, so you can try them out on your own with very little penalty.

But first, what are IDEs and code editors?

Introduction to IDEs and Code Editors

An integrated development environment (IDE) is a program dedicated to software development. As the name implies, IDEs integrate several tools specifically designed for software development. These tools usually include:

  • An editor designed to handle code (with, for example, syntax highlighting and auto-completion)
  • Build, execution, and debugging tools
  • Some form of source control

Most IDEs support many different programming languages and contain many more features. They can, therefore, be large and take time to download and install. You may also need advanced knowledge to use them properly.

In contrast, a dedicated code editor can be as simple as a text editor with syntax highlighting and code formatting capabilities. Most good code editors can execute code and control a debugger. The very best ones interact with source control systems as well. Compared to an IDE, a good dedicated code editor is usually smaller and quicker, but often less feature rich.

Requirements for a Good Python Coding Environment

So what do you really need in a coding environment? Feature lists vary from app to app, but there are some core features that make coding easier:

Locked learning resources

Join us and get access to thousands of tutorials and a community of expert Pythonistas.

Unlock This Lesson

Already a member? Sign-In

Locked learning resources

The full lesson is for members only. Join us and get access to thousands of tutorials and a community of expert Pythonistas.

Unlock This Lesson

Already a member? Sign-In

You must own this product to join the conversation.