This page is in community mode. Any user with 100 rep may edit it.
  • Last edited on Sep 6, 2018, 6:11:05 PM by wim
  • Edit

“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