Text Editors and IDEs

Text editors and integrated development environments (IDEs) are applications for writing code. These applications are the primary user interface for developers to create their own programs.

Vim with basic configuration options on a dark background.

Vim is an example of a text editor implementation that can be expanded into a full Python IDE using configuration files and plugins.

Text editors and IDEs are a concept implemented by Vim, Emacs, Sublime Text, Jupyter Notebook and several other applications. Learn how the parts fit together in the development environments chapter or view all topics.

Why is a text editor or IDE necessary?

Where will you write your code if you do not have a text editor? Your development environment must include a text editor so you can enter, edit and delete characters to create Python applications.

Preferrably your editor will have a monospace font. It will also get out of your way, so no "smart" correction or automatic letter capitalization.

What's the difference between text editors and IDEs?

IDEs contain text editors but many text editors, for example Notepad included with Windows, do not include IDE features. Many text editors such as Vim or Emacs have IDE features by default but then can be further customized to add file trees, syntax highlighting, line numbers and syntax checking that is commonly found in full-featured IDEs.

Text editor implementations

The following text editor implementations can be upgraded with configurations and plugins to become full-fledged IDEs when a developer wants that kind of functionality.

IDE implementations

  • PyCharm by JetBrains

  • Beeware

  • Wing Python IDE

Text editor & IDE resources

What do you want to develop with your IDE?

I want to know about working with data in Python.

I want to learn how to code a Python web application using a framework.

I've built a Python web app, now how do I deploy it?

Sign up for a monthly email with Full Stack Python tutorials. No spam ever.

Matt Makai 2012-2018