Blog, Python, Tech 101

The 13 Best Python IDEs and Code Editors

Get Our Free Ultimate Guide to Coding for Beginners

Get Our Free Ultimate Guide to Coding for Beginners

Make a plan for learning Python and all the other tech skills you need to land a new job with this 60+ page FREE ebook!

Python is a HUGELY popular general purpose coding language used for things like:

  • Back end (or server side) web and mobile app development
  • Desktop app and software development
  • Processing big data and performing mathematical computations
  • Writing system scripts (i.e. creating instructions that tell a computer system to “do” something)

Yes, other languages can tackle these tasks, but Python stands out from the coding crowd because of its easy to learn, English-based syntax and user-friendly libraries and frameworks (if there’s something Python can’t do “out of the box,” chances are there’s an add-on that can make it happen).

“Hello World” written in Java

“Hello World” written in Python

Still, if you could make this already easy-to-use, versatile programming language even more easy-to-use and versatile, you wouldn’t say no, right?

Cue Python IDEs (Integrated Development Environments) and code editors.

Savvy coders are always on the lookout for tools to simplify the coding process, and IDEs and code editors are everything.

This guide explains exactly what these tools are, why they’re essential, and walks you through a list of the top 13 IDEs and code editors that play nice with Python.

Table of Contents

  1. What are IDEs and Code Editors?
  2. What Makes a Good Python IDE?
  3. The 13 Best Python IDEs and Code Editors

What are IDEs and Code Editors?

IDEs

IDEs (or Integrated Development Environments in developer speak) are software programs that combine tools for writing and testing software, websites, and mobile apps into one efficient platform (you know, an “integrated development environment”). IDE’s typically include:

  • A source code editor—a text editor designed specifically for editing programming languages
  • Build automation tools—tools used to automate software development processes that would otherwise need to be tediously done by hand (think compiling your source code into a working software program, or running coding tests)
  • A debugger—a tool that examines your code for errors and helps diagnose any problems that might be found

Writing code, turning code into a working product, testing code, and identifying coding errors are all fundamental parts of the development process, so it only makes sense to have one-stop platform for all these needs—and THAT’S the role played by IDEs.

A Python IDE (PyCharm) in action

Code Editors

But what if you JUST need to write some code? Sure, you can do it with an IDE, but when you’re working on the fly (and you’d rather use a less resource-intensive tool to get the job done), you can turn to a code editor.

Code can actually be written in ANY plain text editor, but the best code editors are equipped with features specific to writing code. Plenty of code editors also include debugging tools, blurring the line between simple editors and full blown IDEs, but it’s easiest to think of code editors as simpler, lighter weight counterparts to fuller service IDEs.

(back to top)

A code editor (Atom) working with Python

What Makes a Good Python IDE?

Sooo, back to Python. Now that you know what IDEs and code editors are, what makes a particular IDE or code editor a good fit when you’re coding with Python?

Python IDEs versus General Purpose IDEs and Must-Have Features

First, you need to decide whether you’re looking for a coding environment designed to work specifically with Python, or whether you need a more general platform.

That choice is pretty straightforward. If you’re only working with Python, a Python IDE is great for your project. If you’re working on a project using multiple languages, though, you’ll want to consider a general purpose IDE/code editor that can handle all the languages you’re using..

Second, you need to consider your experience level. If you’re brand new to Python AND to IDEs, there’s no need to start off with one of the most complex Python IDEs on the market.—An entry level IDE or a solid code editor will work just fine. Regardless ofyour needs, the best coding environments (IDEs and code editors) share these common features:

  • Automatic Code Formatting—Code formatting means the software knows how to anticipate necessary indentations, line breaks, etc. based on the rules of the language it knows you’re using (in this case, Python). Automatic formatting is a huge part of using an IDE or code editor vs. a plain text editor (which makes you format everything by hand).
  • Syntax Highlighting—Syntax highlighting uses different colors and fonts to highlight sections of your code based on your coding language’s syntax. This makes it a whoooole lot easier to pick out specific keywords, symbols, and portions of code than simply looking at a wall of undifferentiated text.
  • Ability to Execute Code—Whether using an IDE or code editor, you need to be able to execute the code you’re writing directly from the coding environment you’re using. This means being able to “run” your code from within the IDE or code editor itself (without exiting the program and adding the extra step of a third party tool to execute your work).
  • Reloadable Save States—If an IDE or code editor doesn’t allow you to save your code “as is” at any point in the coding process (and to reload it exactly as you left it when you open it back up), run away. Far away.

With these features as our baseline, we rounded up a list of the 13 best IDEs and code editors that are either Python specific or general purpose (and Python friendly).

(back to top)

Get Our Free Ultimate Guide to Coding for Beginners

Get Our Free Ultimate Guide to Coding for Beginners

Make a plan for learning Python and all the other tech skills you need to land a new job with this 60+ page FREE ebook!

The 13 Best Python IDEs and Code Editors

Python-Specific IDEs

Idle (Python IDE)
Who It’s For: Beginning Python users
Pricing: Free (open source)

Idle is a great place to start with Python IDEs, since it comes bundled with installs of the Python language by default. That means if you’ve installed Python on your computer, you also have access to Idle. But Idle’s automatic availability isn’t the only reason you should consider using it. Idle is a lightweight, beginner-friendly IDE that can do a lot of things, making it a perfect starting point for new Python users. Its performance does start to taper off with larger, more complicated projects, but you can upgrade to a fuller-featured IDE when and if necessary.

Selling Points:

  • Bundled with Python
  • Open source
  • Beginner-friendly
  • Python code auto-completion
  • Smart indentation
  • Syntax highlighting
  • Basic integrated debugger

Thonny (Python IDE)
Who It’s For: Beginning Python users
Price: Free (open source)

Adorably named (Python…Thonny…get it?), Thonny is a Python IDE developed by the Institute of Computer Science at the University of Tartu in Estonia and aimed atPython beginners. That said, as your experience grows you’ll eventually outgrow what Thonny has to offer (at which point you can graduate to intermediate IDEs like PyCharm and PyDev).

Selling Points:

  • Open source
  • Designed for beginning Python IDE users
  • Simplified user interface (again, great for beginners, less useful for intermediate users)
  • Simplified debugger (same caveat as above)
  • Line numbers (makes it easier to track your code)
  • User action log (Thonny keeps a log of all user actions that you can replay to analyze your coding process)

PyCharm (Python IDE)
Who It’s For: Intermediate to advanced Python users
Price: Freemium (free limited feature community version, paid full featured professional version)

PyCharm is a Python-specific IDE aimed at professional Python developers. While it might not be the best starting point for complete beginners, it’s a perfect step up once you’ve outgrown an environment like Idle. PyCharm offers two pricing tiers: a free community version (with limited features) and a full-featured, paid professional version.

Selling Points:

  • Designed for professional use
  • Python code auto-completion
  • Error highlighting and fix suggestions
  • Smart code navigation
  • Robust debugging

PyDev/Eclipse (Python IDE)
Who It’s For: Intermediate to advanced Python users
Price: Free (open source)

Eclipse is an industry standard, open source IDE for use with the programming language Java. Sooo what does that possibly have to do with Python? By using an Eclipse plugin called PyDev, Eclipse transforms from a Java IDE to a Python IDE (with all of the powerful features that makes Eclipse an industry standard). If you have experience with Eclipse or other fuller-featured IDEs, that’s great! Buuut, if you’re new to the whole IDE thing, PyDev might be a little more than you need starting out.

Selling Points:

  • Open source
  • Robust IDE feature-set (good for intermediate to advanced users, may be a steep learning curve for beginners)
  • Integration with Django (a Python framework used for web development)
  • Python code auto-completion
  • Keyword auto-completion
  • Code analysis
  • Tabs preferences
  • Smart indent

Wing
Who It’s For: Intermediate to advanced Python users
Price: $179 per user for a year of commercial use, $245 per user for a permanent commercial use license

Wing is another full service IDE intended for intermediate or advanced Python IDE users. All of the usual IDE features are there (auto-completion, syntax highlighting, debugging, etc.), but Wing takes things to the next level with extensive integration with Python frameworks like Django and a powerful coding search engine.

Selling Points:

  • Full-featured for intermediate and advanced Python developers (more features/learning curve than beginners will need)
  • Python code autocompletion
  • Syntax highlighting
  • Debugging
  • Extensive Python framework integration
  • Coding search engine (find and replace tool specific to Python code)

Spyder (Python IDE)
Who It’s For: Python data scientists
Price: Free (open source)

Spyder is a Python-specific IDE designed with data science (a specific Python niche) in mind. While Spyder DOES include the kind of features you’d find in any Python IDE, it’s focus is primarily on things like integrating with Python data science libraries (e.g. NumPy, SciPy, and Matplotlib). This makes Spyder a better choice for specialized data science needs than as a one-size-fits-all Python IDE.

Selling Points:

  • Open source
  • Data science specialization
  • Python code auto-completion
  • Syntax highlighting

General Purpose IDEs and Code Editors

Sublime Text (Code Editor)
Who It’s For: All Python users
Price: $80

Sublime Text is a code editor that supports a number of languages including…you guessed it…Python. Out of the box, Sublime Text offers all the basic code editing features you need (things like syntax highlighting and a “GOTO” function that supports opening files with minimal clicks and jumping to Python specific words and symbols in your code), and can be extended even further with plugins for features like code autocompletion, debugging, and Django integration.

Selling Points:

  • Plugins allow Sublime Text to be as lightweight or full featured as you need (making it useful to beginners and advanced users alike)
  • Out of the box syntax highlighting and GOTO search function
  • Extension options for python code autocompletion, debugging, and framework integration

Repl.it (IDE)
Who It’s For: All Python users
Price: Free (open source)

Picture this: you need to work on some Python code, but you don’t have access to a machine with Python installed on it. No, you don’t have to go through an entire installation process to go back to work AND you don’t need to stop working until you get back to a Python-ready machine. Instead, you can use Repl.it, a general purpose IDE that supports Python and allows developers to code directly through their browser. With Repl.it, all you need to write Python code is a computer with internet access, making it a useful tool when working on the fly.

Selling Points:

  • Open source
  • Ability to code through your browser
  • Code error analysis
  • Compatible with third party plugins for added features

Visual Studio (IDE)
Who It’s For: Intermediate to advanced Python users
Price: $45/month or $1,199/year

Visual Studio is full-featured IDE created by Microsoft that is compatible with Python through a plugin called Python Tools for Visual Studio (PTVS). If you already use Visual Studio for other projects and programming language, it makes a lot of sense to add PTVS and make it your IDE of choice for Python projects, too. However, if you’re just looking for an IDE to work with Python, Visual Studio is probably a bigger download than you actually need.

Selling Points:

  • If you’re working with multiple languages (or already working with Virtual Studio), you can add Python compatibility to the mix without using an additional IDE
  • Visual Studio is a very full-featured IDE (including robust search and navigation tools, code editing, and debugging
  • Microsoft support

Visual Studio Code (code editor)
Who It’s For: All Python users
Price: Free (open source)

Visual Studio CODE is Visual Studio’s lighter weight code editor counterpart. VS Code is free to use, open source, and highly configurable with plugins and extensions (including Python compatibility). Out of the box, VS Code comes equipped with syntax highlighting, a debugger, and a proprietary “IntelliSense” code autocompletion feature.

Selling Points:

  • Open source
  • VS code is a lighter weight (but still feature-rich) alternative to Visual Studio
  • Syntax highlighting
  • Debugger
  • Code autocompletion
  • Configurable through VS Code Marketplace extensions

Vim (code editor)
Who It’s For: All Python users
Price: Free (open source)

Vim is a text editor that comes pre-installed with Mac OS and UNIX computer operating systems (it’s also downloadable for Windows). On its own, Vim’s feature set is pretty basic, but there are plugins available for syntax highlighting, code autocompletion, and debugging that turn it into a worthy Python code editor. If you’re already familiar with Vim (or you work on a Mac OS or UNIX machine), it might be just the right option for writing and editing your Python code.

Selling Points:

  • Open source
  • Automatically included on Mac OS and UNIX systems
  • Configurable to work with Python
  • Plugins for code editing features like syntax highlighting, code autocompletion, and debugging

Atom (code editor)
Who It’s For: All Python users
Price: Free (open source)

Atom is an open source code editor that is lean out of the box, but flexible enough to mold into whatever you need it to be…and that includes turning it into a solid, lightweight Python code editor. On its own, Atom has features like code autocompletion, a find and replace search engine, and a customizable user interface, while features like debugging (and, of course, Python support) can be added through plugins from Atom’s online marketplace.

Selling Points:

  • Open source
  • Code autocompletion
  • Customizable user interface
  • Find and replace search function
  • Plugins for debugging

GNU eMacs
Who It’s For: All Python users
Price: Free (open source)

GNU eMacs is one of the longest running code editors on the market (it’s first version was released in 1984!), and that kind of longevity speaks to its flexibility and usefulness. On its face, GNU eMacs is a basic text editor, but through plugin customization it can include features like a project planner, a mail and news reader, a debugger interface, a calendar, and…Python compatibility. If you don’t mind spending some time exploring GNU eMacs’ plugins, you can mold it into a highly functional Python code editor/office tool hybrid.

Selling Points:

  • Open source
  • Huge user base/community support
  • Highly customizable
  • Plugins for IDE-like features + office tools

(back to top)

Scott Morris

Scott Morris is Skillcrush's staff writer and content producer. Like all the members of Skillcrush's team, he works remotely (in his case from Napa, CA). He believes that content that's worth reading (and that your audience can find!) creates brands that people follow. He's experienced writing on topics including jobs and technology, digital marketing, career pivots, gender equity, parenting, and popular culture. Before starting his career as a writer and content marketer, he spent 10 years as a full-time parent to his daughters Veronica and Athena.