Python IDEs
This page is in community mode. Any user with 100 rep may edit it.
“What is the best IDE to use for Python?” is an often-asked question, unfortunately it’s quite opinionated and as such is quite a poor fit for Stack Overflow. We’ve decided to put together the pros and cons of the various IDEs/text editors that are generally used within Python.
PyCharm
PyCharm is a comprehensive IDE written by JetBrains.
Pros
- Great debugging tools
- Indexes all files and Python libraries for quick searching (including regex searching)
- Embedded terminal + Python terminal
- Large project management
- Advanced refactoring abilities
- Support for virtualenvs and Vagrant VMs
- Has excellent support for supplementary languages (Javascript, HTML templating, etc)
- Extendable with addons
- Has a free Community Edition
Cons
- Complex
- Steep learning curve
- Overkill for many projects
- Will struggle on a low-end computer.
- Some features only available in paid version.
- Can only be extended using Java or Kotlin.
- Java runtime, heavy
- Bugs… bugs everywhere!
Sublime Text
Sublime Text is a lightweight and highly-extendable text editor.
Pros
- Can be used with all languages as it’s a general text editor
- Advanced refactoring abilities
- Lightweight
- Extendable with addons
- FAST
Cons
- Technically need to pay for it, it’ll bug you to buy a copy
- Extending can be difficult
- Features must be added with extensions
- Poor support for terminal colour, emoji fonts etc
Alternatives
- IDLE
- PyDev
- Spyder
- Atom
vim
Vim is a highly configurable text-editor for programmers.
Pros
- Incredibly configurable and customizable
- Very resource efficient, does not even require a desktop manager
- Typically already installed (on non-Windows computers)
- Mastery allows a developer to edit files with nearly unrivaled efficiency
Cons
- Not beginner-friendly
- Steep learning curve
- Customization-file syntax is not for the faint of heart
Notepad++
Notepad++ is a simple open-source text editor for Windows
Pros
- Easy to setup and use
- Very beginner-friendly
- Native support for Python script highlighting
- Multi-tab sessions
- Auto saving
- Common advanced text editing features (macros, find and replace, autocomplete)
- Lightweight
Cons
- Lacks features specific to Python development
- Only works on Windows
- Has “Notepad” in the name