Skip to content

Latest commit

 

History

History
54 lines (32 loc) · 2.06 KB

File metadata and controls

54 lines (32 loc) · 2.06 KB

Editors

The editor is the main tool of a programmer.

Here we list the most common Python editors.

editor description
IDLE default basic Python editor
IPython powerful interactive environment
Spyder Anaconda IDE with interactive debugger
Jupyter great for integrating output, text and diagrams
Sublime2 many plugins, powerful key commands
Atom like Sublime, but 100% Open Source
Pycharm lots of functionality for writing big programs
Notepad++ good general-purpose text editor on Windows
Vim works through SSH

IDLE

Standard editor in Python distributions, easy to use but very basic.

Spyder

Spyder is part of the Anaconda Python distribution. It is a small IDE mostly for data analysis, similar to RStudio. It automatically highlights Syntax errors, contains a variable explorer, debugging functionality and other useful things.

IPython

A more sophisticated interactive Python command line. It incorporates tab-completion, interactive help and regular shell commands. Also look up the %-magic commands.

Jupyter Notebooks

Interactive environment for the web browser. A Jupyter notebook contains Python code, text, images and any output from your program (including plots!). It is a great tool for exploratory data analysis.

Sublime2

A general-purpose text editor that works on all systems. There are many plugins for Python available. There is a free and a commercial version available.

Atom

The Open Source cousin of Sublime2. It has great GitHub integration.

PyCharm

PyCharm is probably the most luxurious IDE for Python. It contains tons of functions that are a superset of all the above. PyCharm is a great choice for bigger Python projects.

Notepad++

If you must use a text editor on Windows to edit files, use Notepad++. DO NOT USE THE WINDOWS NOTEPAD

Vim

To use Vim, you need to learn a lot of keyboard shortcuts. Its unique advantage is that it is the only editor in this collection that you can use through an SSH connection on a remote machine.