Где писать на python под windows

Учитывая многообразие IDE и редакторов кода, легко запутаться, поэтому мы собрали самые популярные инструменты для разработки на Python.

Писать на Python, используя IDLE или Python Shell, вполне удобно, если речь идёт о простых вещах, однако с ростом размеров проектов программирование превращается в мучение. С помощью IDE или даже хорошего редактора кода можно значительно упростить себе жизнь. Но вот вопрос — что выбрать?

В этой статье мы пройдёмся по основным инструментам, позволяющим писать на Python. Мы не выберем за вас лучший вариант, но рассмотрим «за» и «против» каждого и поможем сделать взвешенное решение.

  1. Что такое IDE и редактор кода?
  2. Требования к хорошей среде разработки
  3. Редакторы и IDE с поддержкой Python
  4. Редакторы и среды разработки, написанные на Python
  5. Так какую Python IDE выбрать?

IDE (или интегрированная среда разработки) — это программа, предназначенная для разработки программного обеспечения. Как следует из названия, IDE объединяет несколько инструментов, специально предназначенных для разработки. Эти инструменты обычно включают редактор, предназначенный для работы с кодом (например, подсветка синтаксиса и автодополнение); инструменты сборки, выполнения и отладки; и определённую форму системы управления версиями.

Большинство IDE поддерживают множество языков программирования и имеют много функций, из-за чего могут быть большими, занимать много времени для загрузки и установки и требуют глубоких знаний для правильного использования.

С другой стороны, есть редакторы кода, которые представляют собой текстовый редактор с подсветкой синтаксиса и возможностями форматирования кода. Большинство хороших редакторов кода могут выполнять код и использовать отладчик, а лучшие даже могут взаимодействовать с системами управления версиями. По сравнению с IDE, хороший редактор кода, как правило, легковесней и быстрее, но зачастую ценой меньшей функциональности.

Требования к хорошей среде разработки

Итак, что нам нужно от среды разработки? Набор функций разных сред может отличаться, но есть набор базовых вещей, упрощающих программирование:

  1. Сохранение файлов. Если IDE или редактор не дают вам возможности сохранить работу и позже всё открыть в том же состоянии, в котором оно было во время закрытия, то не такая уж это и IDE.
  2. Запуск кода из среды. То же самое, если вам нужно выйти из среды для запуска кода, то это не более, чем простой текстовый редактор.
  3. Поддержка отладки. Возможность пошагово выполнить код является базовой функцией всех IDE и большинства хороших редакторов кода.
  4. Подсветка синтаксиса. Возможность быстро найти ключевые слова, переменные и прочее делает чтение и понимание кода на порядок проще.
  5. Автоматическое форматирование кода. Любой редактор или IDE, который действительно таковым является, распознает двоеточие после while или for выражения и автоматически сделает отступ на следующей строке.

Разумеется, есть множество других функций, от которых вы бы не отказались, но приведённые выше — основные функции, которыми должна обладать хорошая среда разработки.

А теперь давайте взглянем на некоторые инструменты общего назначения, которые можно использовать для разработки на Python.

Редакторы и IDE с поддержкой Python

Eclipse + PyDev

Тип: IDE
Сайт: www.eclipse.org
PyDev: www.pydev.org

Если вы близки с open-source сообществом, то вы наверняка слышали об Eclipse. Будучи доступным для Linux, Windows и OS X, Eclipse де-факто является open-source IDE для разработки на Java. Существует множество расширений и аддонов, которые делают Eclipse полезным для разного рода задач.

Одним из таких расширений является PyDev, предоставляющий интерактивную консоль Python и возможности для отладки и автодополнения кода. Установить его просто: запустите Eclipse, выберите Help → Eclipse Marketplace, затем найдите PyDev. Нажмите «Install» и при необходимости перезапустите Eclipse.

IDE Eclipse

Преимущества: если у вас уже был установлен Eclipse, то установка PyDev пройдёт быстро и гладко. У опытного пользователя Eclipse не возникнет проблем с изучением этого расширения.

Недостатки: если вы только начинаете изучать Python или разработку в целом, Eclipse может стать непосильной ношей. Помните, мы говорили, что IDE большие и требуют больше опыта для полноценного использования? Всё это можно сказать об Eclipse.

Sublime Text

Тип: редактор кода
Сайт: http://www.sublimetext.com

Sublime Text, написанный инженером из Google с мечтой о лучшем текстовом редакторе, является весьма популярным редактором кода. Доступный на всех платформах, Sublime Text имеет встроенную поддержку редактирования Python-кода, а также богатый набор расширений, называемых пакетами, которые расширяют возможности синтаксиса и редактирования.

Установить дополнительный Python-пакет может быть непросто — все пакеты Sublime Text написаны на Python, поэтому для установки пакетов сообщества зачастую может потребоваться выполнить Python-скрипт непосредственно в редакторе.

Sublime Text

Преимущества:у Sublime Text большое количество поклонников. Как редактор кода, Sublime Text быстрый, лёгкий и имеет хорошую поддержку.

Недостатки: Sublime Text не является бесплатным, хотя вы можете использовать пробный период сколько угодно. Установка расширений может превратиться в тот ещё квест. Кроме того, в редакторе нет поддержки отладки и запуска кода.

Atom

Тип: редактор кода
Сайт: https://atom.io/

Доступный на всех платформах Atom называют «хакабельным текстовым редактором 21 века». Atom написан с использованием Electron — фреймворка для создания кроссплатформенных приложений для десктопа средствами JavaScript, HTML и CSS — и имеет множество расширений. Поддержку Python можно также подключить с помощью расширения, которое можно установить прямо в Atom.

IDE Atom

Преимущества: поддержка на всех платформах благодаря Electron. Atom лёгкий и быстро скачивается и загружается.

Недостатки: поддержка сборки и отладки не встроенная, а добавляется с помощью расширений. Поскольку Atom написан с помощью Electron, он всегда работает как JavaScript-процесс, а не как нативное приложение.

GNU Emacs

Тип: редактор кода
Сайт: https://www.gnu.org/software/emacs/

Задолго до войны iPhone с Android, до войны Linux с Windows, даже до войны PC с Mac была война редакторов с GNU Emacs в качестве одного из участников военных действий. Описываемый как «расширяемый, настраиваемый, самодокументированный текстовый редактор», GNU Emacs существует почти столь же долго, сколько и UNIX, и успел завоевать немало поклонников.

Доступный бесплатно на каждой платформе (в той или иной форме) GNU Emacs использует язык Lisp для кастомизации. Само собой, для Python тоже найдутся скрипты кастомизации.

GNU Emacs

Преимущества: вы знакомы с Emacs, вы используете Emacs, вы любите Emacs. Lisp — ваш второй язык, и вы знаете, что с ним вы способны на всё.

Недостатки: кастомизация подразумевает написание (или копипасту) Lisp-кода в различные скрипты. Если таковых не имеется, то вам, возможно, придётся изучить Lisp, чтобы со всем разобраться.

Vi / Vim

Тип: редактор кода
Сайт: https://www.vim.org/

По другую сторону баррикад в войне редакторов находится VI/VIM. Доступный по умолчанию на почти каждой UNIX-системе и Mac OS X, VI завоевал не меньшее количество поклонников. VI и VIM — модальные редакторы, которые отделяют просмотр файла от его редактирования. VIM включает в себя всё, что есть в VI, плюс некоторые усовершенствования вроде доступности расширений. Для разного рода Python-задач можно воспользоваться VIMScripts.

Vim

Преимущества: вы знакомы с VI, вы используете VI, вы любите VI. VIMScripts вас не пугают, и вы знаете, как подчинить их своей воле.

Недостатки: как и в случае с Emacs, вам не очень удобно искать или писать скрипты для добавления возможности разработки под Python, и вы не имеете ни малейшего понятия, как вообще должен работать модальный редактор.

Visual Studio

Тип: IDE
Сайт: https://www.visualstudio.com/vs/
Python-расширение: Python Tools for Visual Studio, aka PTVS

Visual Studio — полнофункциональная IDE от Microsoft, которая во многом сопоставима с Eclipse. Доступная на Windows и Mac OS, Visual Studio представлена как в бесплатном (Community), так и в платном (Professional и Enterprise) вариантах. Visual Studio позволяет разрабатывать приложения для разных платформ и предоставляет свой собственный набор расширений.

Python Tools for Visual Studio (PTVS) позволяет писать на Python в Visual Studio и включает в себя Intellisense для Python, отладку и другие инструменты.

IDE Python Visual Studio

Преимущества: как и в случае с Eclipse, если у вас уже установлена Visual Studio для других задач, установка PTVS пройдёт без проблем.

Недостатки: как и в случае с Eclipse, Visual Studio будет многовато, если вам нужен только Python. Кроме того, если вы пользуетесь Linux, то вы в пролёте — Visual Studio для этой платформы нет.

Visual Studio Code

Тип: редактор кода
Сайт: https://code.visualstudio.com/
Python tools: https://marketplace.visualstudio.com/items?itemName=ms-python.python

Visual Studio Code (не путать с Visual Studio) — полнофункциональный редактор кода, доступный на Windows, Linux и Mac OS X. VS Code является расширяемым open-source редактором, который можно настроить под любую задачу. Как и Atom, VS Code построен на Electron, поэтому у него есть те же преимущества и недостатки.

Добавить поддержку Python в VS Code проще простого — выполните поиск по запросу «Python» в Marketplace, нажмите «Install» и перезапустите редактор, если потребуется. VS Code автоматически определит интерпретатор Python и установленные библиотеки.

Visual Studio Code

Преимущества: благодаря Electron, VS Code доступен на всех платформах с удивительно большой функциональностью. Кроме того, исходники можно найти в открытом доступе.

Недостатки: раз замешан Electron, значит VS Code не нативное приложение. Кроме того, некоторым людям религия не позволяет пользоваться продуктами Microsoft.

Редакторы и среды разработки, написанные на Python

PyCharm

Тип: IDE
Сайт: https://www.jetbrains.com/pycharm/

Одной из лучших полнофункциональных IDE, предназначенных именно для Python, является PyCharm. Существует как бесплатный open-source (Community), так и платный (Professional) варианты IDE. PyCharm доступен на Windows, Mac OS X и Linux.

PyCharm «из коробки» поддерживает разработку на Python напрямую — откройте новый файл и начинайте писать код. Вы можете запускать и отлаживать код прямо из PyCharm. Кроме того, в IDE есть поддержка проектов и системы управления версиями.

IDE Python PyCharm

Преимущества: это среда разработки для Python с поддержкой всего и вся и хорошим коммьюнити. В ней «из коробки» можно редактировать, запускать и отлаживать Python-код.

Недостатки: PyCharm может медленно загружаться, а настройки по умолчанию, возможно, придётся подкорректировать для существующих проектов.

Spyder

Тип: IDE
Сайт: https://github.com/spyder-ide/spyder

Spyder — open-source IDE для Python, оптимизированная для data science. Spyder идёт в комплекте с менеджером пакетов Anaconda, поэтому вполне возможно, что он у вас уже установлен.

Что в Spyder интересно, так это то, что его целевой аудиторией являются data scientist’ы, использующие Python. Например, Spyder хорошо взаимодействует с такими библиотеками для data science, как SciPy, NumPy и Matplotlib.

Spyder обладает той функциональностью, которую вы можете ожидать от стандартной IDE, вроде редактора кода с подсветкой синтаксиса, автодополнения кода и даже встроенного обозревателя документации.

Отличительной особенностью Spyder является наличие проводника переменных. Он позволяет просмотреть значения переменных в форме таблицы прямо внутри IDE. Также хорошо работает интеграция с IPython/Jupyter.

Про Spyder можно сказать, что он более «приземлённый», чем другие IDE. Его можно рассматривать как инструмент для определённой цели, а не как основную среду разработки. Что в нём хорошо, так это, что он бесплатный, open-source и доступный на Windows, macOS и Linux.

Spyder

Преимущества: вы data scientist, который пользуется Anaconda.

Недостатки: более опытные разработчики на Python могут найти Spyder недостаточно функциональным для повседневной работы и сделают свой выбор в пользу более функциональной IDE или редактора.

Thonny

Тип: IDE
Сайт: http://thonny.org/

Thonny называют IDE для новичков. Написанный и поддерживаемый Институтом информатики Тартуского университета в Эстонии, Thonny доступен на всех основных платформах.

По умолчанию Tonny устанавливается с версией Python, идущей в комплекте, поэтому вам  не понадобится устанавливать ещё что-нибудь. Продвинутым пользователям, возможно, придётся изменить эту настройку, чтобы IDE нашла и использовала уже установленные библиотеки.

Thonny

Преимущества: вы начинающий Python-программист и вам нужна IDE, с которой можно сразу идти в бой.

Недостатки: продвинутым пользователям будет недостаточно функциональности, а встроенный интерпретатор они заменят. Кроме  того, учитывая новизну IDE, могут возникнуть проблемы, решения которых на данный момент нет.

Так какую Python IDE выбрать?

Решать только вам, но вот пара рекомендаций:

  • Начинающим питонистам следует взять что-то с наименьшими возможностями кастомизации. Чем меньше препятствий, тем лучше;
  • Если вы уже пользуетесь каким-нибудь редактором для других задач, то посмотрите в сторону редакторов кода;
  • Ну а если у вас уже стоит IDE для другого языка, то попробуйте добавить в неё поддержку Python.

Смотрите также подборку материалов по Python для начинающих. Интересуетесь ещё и вебом? Тогда загляните в нашу аналогичную подборку IDE для веб-разработки.

Перевод статьи «Python IDEs and Code Editors (Guide)»

If you have anything to contribute — e.g. configurations for editors, new editors, or opinion — don’t hesitate to edit or create pages.

(!) Please keep wiki links as wiki links, use external links only if there is no existing page for the editor. Please add pages like BoaConstructor also to page IntegratedDevelopmentEnvironments.

Name

Platform

Impl. Language

License

Notes

a8

Linux, FreeBSD

Python, GTK

GPLv3

Embed Vim. Little brother of PIDA

Alphatk

Unix/X, Windows, Mac OS X

Tcl/Tk

Proprietary

Extensible in Tcl, Tk; Can interact with python.

Atom

Unix/X, Windows, Mac OS X

Python

MIT

Python language support for Atom-IDE, powered by the Python language server.

Code::Blocks

Linux, Windows, Mac OS X

C++, wxWidgets

GPLv3

class browser does not currently work for .py files, but it’s still a nice IDE to use for python projects

Bluefish

Linux, Windows, Mac OS X

C, GTK+

GPLv3

The link points to the features page.

Cream

Linux, Windows, FreeBSD

C

GPLv3

Cream is a free and easy-to-use configuration of the powerful and famous Vim text editor for both Microsoft Windows and GNU/Lfinux.

Cssed

Unix/X, Windows, Mac OS X

C, GTK+

GPLv2

CSS editor with syntax highlighting for Python, and embedded Python interpreter. Extensible through a Python API.

codeEditor

Unix/X, Windows, Mac OS X

Python, wxPython

BSD

Extensible in Python; part of PythonCard. Includes PyCrust shell.

eric

Linux, Windows, Mac OS X

Python, PyQt

GPLv3

Complete IDE, very well integrated with PyQT development, but usable for any kind of project. Supports projects, debugging, auto-complete, syntax coloring, etc. It is extensible via plug-in system. Integrated version control interface for Git, Subversion and Mercurial through core plugins. eric6 requires Python 3 (and, if desired, PyQt5), and supports CxFreeze and PyInstaller, Django and Pyramid, PyLint and Vulture

CRiSP

Unix/X, Windows, Mac OS X

Proprietary

BRIEF-compatible, supports Python syntax, in-buffer Python interpreter, supports lots of languages. Powerful macro language.

DRAKON Editor

Windows, Mac OS X, Linux

Tcl/Tk

Public domain

DRAKON diagram editor with code generation in Python.

DreamPie

Windows, Linux and Mac/MacPorts

Python, PyGTK

GPLv3

Interactive shell with history box and code box, auto-completion of attributes and file names, auto-display of function arguments and documentation. Keeps your recent results, provides session history saving (optionally in HTML), interactive plotting with matplotlib. Extremely fast and responsive.

DrPython

Unix/X, Windows, Mac OS X

Python, wxPython

GPL

Simple, Highly Customizable Editor/Environment. A Tribute to DrScheme.

Eclipse

Unix/X, Windows, Mac OS X

Java

EPL

Eclipse is … an open extensible IDE for anything and nothing in particular.» Support for Python can be obtained via the PyDEV plugin.

EditPad Pro

Linux, Windows

Proprietary

Built-in Python syntax highlighting, Python class browsing, Python-compatible regular expressions, code folding, and extensive options for running external tools such as Python scripts.

Editra

Linux, Windows, Mac OS X

Python, wxPython

wxWindows

A general purpose developer’s text editor written in Python/wxPython. It supports python syntax highlighting, auto-ident, auto-completion, classbrowser, and can run scripts from inside the editor. Extensible with plugins written in python.

EmacsEditor

Unix/X, Windows, Mac OS

C, Lisp

GPLv3

Python support with EmacsPythonMode. Extensible in Python using pymacs

Epsilon

Linux, Windows, FreeBSD and OS/2

Proprietary

Customizable Python mode, syntax coloring, function tagging.

ExCo

Linux, Windows, Mac OS

Python, PyQt4

GPLv3

Extensible editor written in Python, Python/C/Nim code tree browser, 3-window editing, text diff, multi-language support, Python REPL, manipulate editor text with Python code

FTE Text Editor

Unix/X, Windows, DOS, OS/2

C++

GPL

Supports lots of languages, including Python; doesn’t seem programmable

Geany

Unix/X, Windows

C, GTK+

GPLv2

A small and lightweight GTK+ IDE that supports lots of languages, including Python.

gedit

Unix/X, Windows, Mac OS

C, Python

GPLv2

gedit is the official text editor of the GNOME desktop environment, with Python syntax highlighting.

ideas

Unix/X, Windows, Mac OS

Python, PyQt

Proprietary

Ideas is a feature rich IDE that supports debugging, interpreting and project management.

J

Linux, Windows, Mac OS X

Java

GPLv2

syntax coloring for python, extensible with jython, supports many file formats, has folding, fully customisable, has sidebar for class and functions, fast for a Java application

jHepWork

Unix, Windows, Mac OS

Java

GPLv3

IDE with Jython Shell. Syntax coloring for python, extensible with jython, supports many file formats, fully customisable, has sidebar for class and functions

Jasspa’s MicroEmacs

Unix, Windows

C

GPLv2

Supports Python syntax and a Python-specific menu.

JED

Unix, VMS, MSDOS, OS/2, BeOS, QNX, and Windows.

C

GPLv2

Syntax highlighting and indenting, (optional) emacs keybindings, programmable with s-lang. Note: comment out «msw_help(…» line in pymode.sl if you are having problems on Windows.

JEdit

Unix, Windows, Mac OS

Java

GPLv2

Has three plugins — one for Jython and one for Python/Jython JpyDbg — interactive editing debugging, code browsing, highlighting.

JpyDbg

Linux, Windows, Mac OS

Java, Python

GPL

Netbeans jEdit cross IDE plugin

Jupp

Unix/OSX/Cygwin/Interix (curses), MS-DOS (DR DOS, FreeDOS, Win, OS/2 DOS-Box)

C

GPL

Versatile WordStar-like editor (JOE fork) with many colourised syntax-highlighting modes

kdevelop

Linux, Windows, Mac OS

C++

GPLv2

Kde main developping app. Code folding, syntax highlighting, navigator. projects, class browser, version control, customizable keybindings. Comes also with some typical python project models: pyton Qt app, Tkinter app and simple script.

Komodo IDE

Unix, Windows, Mac OS X

Proprietary

Komodo is an award winning Python IDE from ActiveState. Fully-integrated Python 3 support featuring code intelligence with autocomplete and calltips, Python debugger (includes remote debugging), interactive shell, remote file support, macros, templating, emacs command support and great help documentation. There is also an open-source version called Komodo Edit (Source), as part of the Open Komodo project started November 2007.

Komodo Edit

Unix/X, Windows, Mac OS X

Proprietary/Open Source

scaled-down version of Komodo IDE which also supports Python, but excludes the integrated debugger.

gEcrit

Unix/X, Windows, Mac OS X

Python, wxPython

GPLv3

Python IDE with focus is on simplicity and ease of use. It is fast and lightweight. It features Python indentation, line numbers, code folding, syntax highlighting, shell access, code completion, a program runner, a source browser, indentation guides, a white space indicator, autosaving, an edge line, multiple tabs, printing, jumping to a specific line, word searching, word replacement, zooming undo/redo, pastebin.com code submission, Python syntax checking, the ability to change the indentation of many lines at once, autocompletiton, and bad brace checking.

LeoEditor

Linux, Windows, Mac OS X

Python, PyQt

MIT

Outlining editor, fully scriptable and extensible, supporting literate programming. 100% pure Python code.

medit

Unix, Windows

C, GTK+

LGPL

Gtk editor with python bindings, allows plugins written in python.

nano

Linux, Windows

C

GNU GPL

Small, terminal-based editor, Syntax highlighting

ne

Unix, Windows, Mac OS X

C

GPLv3

Easy to use, small, powerful, fast, terminal-based editor. Supports UTF-8, syntax highlighting, undo, autocomplete, macros, regexes, bookmarks. v2.4 released 2012-04

NEdit

Unix/X, Windows, Mac OS X

C

GPLv2

X-Based, Python support builtin.

Netbeans

Unix/X, Windows, Mac OS X, others

Java

GPLv2

Netbeans is an open extensible cross platform IDE ; Support for Python can be obtained via the JpyDbg plugin. A new plugin exists for Netbeans 6.5 or newer — info.

NINJA-IDE

Linux, Windows, Mac OS

Python, PyQt4

GPLv3

Lightweight and extensible editor. Class browser, project manager, PEP8 finder, virtualenv, plugin support

UliPad

Unix/X, Windows, Mac OS X

Python, wxPython

GPLv2

wxPython based editor. Can be easily extended with mixins and plugins, and has many features. Seems to be biased towards Python web development as contains FTP GUI, RSS aggregator and HTML preview.

PowerPad

Windows NT, Linux (with GTK+ 2)

C++, wxWidgets

Freeware

Easy to use text editor with syntax highlighting for Python. Embeds the Python interpreter to extend functionality of the application

PyCharm

Linux, Windows, Mac OS X

Java

Apache 2.0

Full-featured IDE for Python. Has Free and Open Source edition fully supporting Python as well as proprietary Professional Edition with Django, Flask, Pyramid and Google App Engine support.

PyDev

Linux, Windows, Mac OS X

Java, Eclipse

EPL

Eclipse plugin. Code-completion. Debugger. Under active development. (ShowMeDo Videos)

Pye

Linux, Windows

Python, Tk

GPLv3

Ultra-lightweight Python/text editor made in Python with Tk. Emphasis on easy customization and no-bloat attitude.

pyedit

PyBoard, Unix, Windows, Mac OS X

Python

MIT

Written in Python — simple small editor, suitable for MicroPython/circuitPython/Pycopy.

PyPE

Unix, Windows, Mac OS X

Python, wxPython

GPLv2

Written in Python — code folding, snippets, unicode, multiple documents, code completion, several languages, macros.

Python for VS Code

Linux, Windows, Mac OS X

NodeJs

MIT

Free open-source extension for Visual Studio Code. Supports syntax highlighting, debugging, code completion, code navigation, refactoring, with support for Django, multi threaded, local and remote debugging.

PythonToolkit (PTK)

Windows/Linux/Mac (wxPython)

Python

GPLv3

An interactive environment for python features include: Multiple independent python interpreters. Interactively program with different GUI toolkits (wxPython, TkInter, pyGTK, pyQT4 and PySide). Matlab style namespace/workspace browser. Object auto-completions, calltips and multi-line command editing in the console. Object inspection and python path management. Simple code editor and integrated debugger.

Pyzo

Unix/X, Windows, Mac OS X

Python, PySide

BSD License

Open-source Python IDE focused on interactivity and introspection, which makes it very suitable for scientific computing. Its practical design is aimed at simplicity and efficiency. Pyzo consists of two main components, the editor and the shell, and uses a set of pluggable tools to help the programmer in various ways: e.g. source structure, interactive help, workspace, file browser (with functionality for searching). Also includes a post-mortem debugger.

SciTE

Windows, Linux (GTK+)

C++

MIT-Like

A highly configurable light-weight source code editor (about 50 file formats) based on widely-used Scintilla rich text widget/control. Features: sytax highlighting, code folding, auto-indent, brace matching, codepage/unicode support, multiple documents, context help, code execution, output pane, external tools support, RegExp find/replace, text export (HTML, RTF, PDF, LaTeX, XML). Python API for calltips and autocompletion available.

SPE

Windows, Linux, Mac OS X

Python, wxPython

GPLv3

Stani’s Python Editor. Auto indentation, auto completion, call tips, syntax coloring/highlighting, UML viewer, class explorer, source index, auto todo list, sticky notes, integrated PyCrust shell, Python file browser, recent file browser, drag&drop, context help. Blender support with a Blender 3D object browser, runs interactively inside Blender. Ships with WxGlade (GUI designer), PyChecker (source code doctor) and Kiki (regular expression console). Extensible with WxGlade. (ShowMeDo Videos)

Spyder

Windows, Linux, macOS

Python, PyQt5

MIT

Spyder is a powerful scientific environment written in Python, for Python,and designed by and for scientists, engineers and data analysts. It features a unique combination of the advanced editing, analysis, debugging and profiling functionality of a comprehensive development tool with the data exploration, interactive execution, deep inspection and beautiful visualization capabilities of a scientific package. Furthermore, Spyder offers built-in integration with many popular scientific packages, including NumPy, SciPy, Pandas, IPython, QtConsole, Matplotlib, SymPy, and more. Beyond its many built-in features, Spyder’s abilities can be extended even further via first- and third-party plugins. It is conveniently integrated in the cross-platform Anaconda distribution, and is the centerpiece of the Python(x,y) and WinPython distributions for Windows.

SlickEdit

Unix/X, Windows, Mac OS X

Proprietary

Syntax coloring, popup function arguments, class hierarchy browser, graphical debugger, and other nice Python features. Context tagging with class/module namespaces, code navigation, and smart indenting are also supported.

Sublime Text

Linux, Windows, Mac OS X

C++, Python

Proprietary

Beautiful interface, Python syntax highlighting, Python plugins.

Thonny

Linux, Windows, Mac OS X

Python

MIT

For teaching/learning programming. Focused on program runtime visualization. Provides stepping both in statements and expressions, no-hassle variables view, separate mode for explaining references etc.

Vim

Unix/X, Windows, Mac OS

C

Charityware

Highly configurable text editor built to enable efficient text editing. Syntax coloring, indenting, autocompletion, and source-navigation tools for Python. Can be scripted in Python. See also Cream.

Wing IDE

Unix/X, Windows, Mac OS X

Proprietary

Powerful commercial IDE designed specifically for Python. Auto-completion, call tips, syntax highlighting, goto-definition, keyboard modes for emulating Visual Studio, VI/Vim, Emacs, & Brief, graphical debugger, code browser, integrated shell, scriptable in Python, and much more. (ShowMeDo Videos)

wxKonTEXT

Linux, Windows

Python, wxPython

GPL

Simple text editor written in python. Syntax highlighter, Code fold, Export code in HTML…

«IDEs» that don’t integrate anything Python-specific go here.

«IDEs» that run on mobile devices and tablets.

Table of Contents

Launched in 1991 by creator Guido van Rossum, Python was developed with an emphasis on code readability via syntax that allows developers to create more with fewer lines of code. This is why if you’re new to programming, it is often recommended that you start with Python. And if you’re looking to boost your productivity when developing Python code, you’ll want the best Python IDE or Python editor.

The Python language has evolved enormously over the years thanks to the contribution of Python developers and programmers worldwide. It’s now one of the most widely used programming languages with a huge range of packages, libraries, and frameworks. 

Python is a versatile language that can be used for various applications including Blender (3D modeling software), machine learning/artificial intelligence, and web development to name a few. As Python is often used for scripting, lightweight text editors like notepad++ or even plain notepad can be useful Python tools.

Udacity Horizontal Banner

Python interpreters are available on most operating systems including Linux, macOS, and Windows. If you plan to work on larger projects, we recommend a dedicated code editor or an integrated development environment (IDE). Python IDEs and Python code editors offer their own distinct features and user interfaces.

In this article, we will cover some of the most popular Python IDEs and Python editors, taking into account their pros, cons, and use cases. Many of also these offer free tiers, so you’ll be able to choose the best free IDE for Python if you’re just starting out. 

Featured Python IDEs & Editors

Pycharm: Hugely popular, powerful, and feature-rich Python IDE. Learn more

Visual Studio Code: Lightweight and extensible code editor. Learn more

Jupyter Notebook: Data Science IDE, easily run simulations and share data. Learn more

Looking to master Python? The Complete Python Bootcamp from Udemy could be a great stepping stone for you. Also check out our article on the best Python courses to help you on your way to becoming a Python expert.

Before moving on, let’s first dig into what IDEs and code editors are, and then we’ll discuss the requirements for these Python tools to create a good development environment.

What are IDEs and Code Editors?

Whether you’re a college freshman taking your first CS course, or a Staff Software Engineer, you need an IDE or a code editor to efficiently edit, read, and debug code.

Recommend Python Course

Complete Python Bootcamp From Zero to Hero in Python

An integrated development environment (IDE) is a software application that helps programmers to develop software efficiently. It increases developer productivity by combining common developer tools such as software editing, building, testing, debugging, and packaging in one easy-to-use graphical user interface (GUI). Other popular features include code refactoring, code search, code auto-completion, and continuous integration/continuous deployment (CI/CD).

An IDE can also provide many more features and these generally vary with each IDE. 

While code editors are similar to text editors, they are designed to both ease and speed up code development via sophisticated built-in capabilities and functionalities. Sometimes code editors can be mistaken for IDEs, but the main difference between the two is that IDEs provide more powerful tools to simplify the coding process.

10 Best Python IDE & Python Code Editors

To help you choose the best Python IDE or code editor, we’ve done some extensive research to put a list together of the ten top Python IDEs and Python code editors based on popularity, functionality, number of users, and user feedback. We’ve also made sure to include IDEs and editors in this list that cater to both beginners and professional developers.

To make sure each of the IDEs and editors were up to the task, we took the time to put them through their paces. This included installing each on a Windows, macOS, and Linux platform, and then running a range of Python scripts from small individual files, to multi-folder packages. This helped us to confirm that each of the options in this list were up to the task that they’d been designed for — whether that’s to assist beginner developers or allow professionals to level up their day-to-day coding experience.

1. Pycharm

Pycharm

Platform: Linux/macOS/Windows

Official website: https://www.jetbrains.com/pycharm/

Type: IDE

Developed by JetBrains, Pycharmis one of the most popular Python IDEs. With productivity tools like quick and safe code refactoring, Pycharm really stands out from the competition. It is available in three versions: Apache-licensed Community version, Educational (Edu) version, and proprietary Professional version. The first two versions are open source and free of charge, but you’ll have to pay for the Professional version.

The free Community version is great for beginners as it offers a variety of features such as syntax highlighting, auto-completion, and live code verification. The paid version offers advanced features like full database management along with a range of specific frameworks and web development tools.

Advantages:

  • Active community support
  • Lots of useful plugins and productivity shortcuts
  • Executes, edits, and debugs Python code without any external requirements

Disadvantages:

  • Professional version is rather expensive
  • Free tier offers less functionality than the paid versions
  • Community version does not allow other programming languages to be used

2. Pydev

Platform: GNU/Linux/macOS/Windows/Solaris

Official website: https://www.eclipse.org/; http://pydev.org/

Type: IDE

Eclipse is a free IDE that was historically designed for the Java language. Still, thanks to a system of plugins or extensions, you can use it with other languages, including Python.

You’ll need the Pydev plugin to use Eclipse as a Python IDE, which then allows you to develop in Python, Jython, or IronPython. Pydev also uses advanced inference techniques to provide features like auto-completion and code analysis.

As one of the best IDEs for Python, Eclipse also provides these features: debugger, Django, interactive console, basic syntax highlighting, code coverage, and more. 

Advantages:

  • Easy to learn and feature-rich
  • Has a large and active community

Disadvantages:

  • User interface is not very less modern
  • Plugins can be unstable

3. IDLE

Platform: Linux/macOS/Windows

Official website:https://docs.python.org/3/library/idle.html

Type: IDE

IDLE, or Integrated Development and Learning Environment, is a free IDE that comes bundled with any Python installation. It allows you to edit, run, and debug Python code in a simple Python shell and code editor environment, making it great for beginners. 

As a cross-platform IDE, it is available on Windows, LInux, and MacOS. IDLE consists of a multi-window text editor with syntax highlighting and an integrated debugger that offers stepping, persistent breakpoints, and call stack visibility.

Advantages

  • User-friendly for beginners
  • Offers features like syntax highlighting, search, auto-completion, & smart indent
  • Integrated debugger with stepping & breakpoint features

Disadvantages:

  • May be too simple for some
  • Not suitable for large projects
  • Lacks the advanced features offered by other IDEs

4. Visual Studio Code (VS Code)

Visual Studio Code

Platform: Linux/macOS/Windows

Official website:https://code.visualstudio.com

Type: Code Editor

Developed by Microsoft for Windows, Linux and macOS, VS Code is a free and extensible code editor (not to be confused with Visual Studio). VS Code is a small but comprehensive open source code editor with an MIT license. It supports several programming languages, including Python after you install an extension. VS Code is relatively lightweight and comes with many useful features like syntax highlighting, code auto-completion, Git integration, and advanced code debugging. If you’re looking for a lightweight, fast, and customizable Python code editor, it’s a great choice.

One of the main advantages of VS Code is a design that makes great use of an extension-based architecture. Being lightweight, it can be easily extended by adding new components when they’re needed.

Advantages:

  • Advanced customization with 30,000+ extensions in circulation
  • Powerful code management engine
  • You can import keyboard shortcuts from Python editors like Sublime Text or Atom

Disadvantages:

  • Initial customization can be overwhelming/difficult due to the quantity of available extensions
  • Extensions can be unreliable at times

5. Sublime Text

Sublime Text

Platform: Linux/macOS/Windows

Official website:http://www.sublimetext.com/

Type: Code Editor

First conceived as an extension for Vim, Sublime Text is a generic text editor written in C++ and Python code. Since the launch of version 2.0, it supports 44 major programming languages, including Python. Sublime Text requires a paid license, but there is an option to evaluate the code editor for free (and without an enforced time limit!).

After installing Sublime Text, thanks to its different plugins and packages, you get a high-quality and powerful tool that is one of the best Python editors to help you with your development. It also incorporates most of the features you’d expect from a basic Python IDE, including customizable syntax highlighting.

Advantages:

  • Fast, with very few bugs (big advantage)
  • Offers a variety of customization with plugins
  • Supports many languages

Disadvantages:

  • License required
  • Plugins can be confusing/difficult to install
  • Steep learning Curve

6. Jupyter Notebook

Jupyter Notebook

Platform: Linux/macOS/Windows

Official website: https://jupyter.org/

Type: IDE

Jupyter notebook is a free and open source IDE that is used to create Jupyter documents. Uniquely, it is a web-based IDE that allows you to easily share your work.

Jupyter Notebook is very popular among data scientists as it’s great for machine learning, simulations, data visualizations, data analysis, and also for sharing and presenting findings. Jupyter is ready to work right out of the box, requiring little to no configuration. This makes it a perfect tool for quick Python scripting.

Advantages:

  • Easy to use and learn
  • Supports 40+ different languages
  • Easy to share work

Disadvantages:

  • Mostly suited to development in the fields of data and scientific computing
  • Lacks advanced features offered by other IDEs
  • Coding within independent cells may be difficult to manage as the cell count increases

7. Spyder

Spyder

Platform: Linux/macOS/Windows

Official website:https://github.com/spyder-ide/spyder

Type: IDE

The Python scientific community has been maintaining Spyder since 2012. With basic features like syntax highlighting and auto-completion, Spyder also integrates several scientificlibraries like Matplotlib,NumPy, IPython, and SciPy. It is free, multi-platform, open-source, and the installation is very easy with a Python package manager like Pip.

Spyder offers a unique combination of advanced analysis, debugging, editing, interactive execution, in-depth inspection, and visualization capabilities that are comparable to scientific software packages. Its main components are the interactive console, the documentation viewer, the variable explorer, and development tools. These features make Spyder one of the best IDEs for Python code in scientific development.

Advantages:

  • Community support
  • Rich set of development tools
  • Comprehensive documentation

Disadvantages:

  • Execution dependencies
  • Optional dependencies
  • Steep learning curve

8. Wing

Wing

Platform: Linux/macOS/Windows

Official website: https://wingware.com/

Type: IDE

Wing is a Python IDE that was specifically designed to provide a more productive development experience in Python. It offers a strong range of features including code feedback, syntax highlighting, code auto-completion, smart refactoring, and more.

Wing has three pricing tiers: Wing Pro (paid), Wing Personal (free), and Wing 101 (free). As a scaled-back version of Wing Personal, Wing 101 was originally designed for teaching entry-level computer science courses which makes it one of the best IDEs for Python beginners. As you’d expect, Wing Pro (the paid version) is the most feature-rich of the available options.

Advantages:

  • Customizable and extensible
  • Powerful debugger
  • Feature-rich

Disadvantages:

  • Minimal support for languages that aren’t Python-based
  • Wing Pro can be expensive, and it has to be renewed annually
  • UI is a little outdated

9. GNU/Emacs

GNU

Platform: Linux/macOS/Windows

Official website:https://www.gnu.org

Type: Text editor

GNU Emacs is a feature-rich text editor that is highly customizable via various extensions and it’s available to download for free on all platforms.

For Python development, you can use the Elpy extension This is a feature rich Emacs extension for working with Python projects. Among its many features, we have to mention syntax highlighting that differentiates document elements such as keywords and comments, and automatic indentation which ensures consistent formatting throughout your file.

Advantages:

  • Free and fully customizable
  • Fully navigable via keyboard bindings (but you don’t have to)
  • 24-bit color encoded support for terminals that support this

Disadvantages:

  • Steep learning curve
  • Documentation may be out of date

10. Thonny

Thonny

Platform: Linux/macOS/Windows

Official website:https://thonny.org

Type: IDE

Thonny is advertised as the Python IDE for beginners. Designed to make life easier for new Python developers, Thonny is a simple and lightweight IDE with excellent features that is free of charge. This makes it one of the best IDES for Python beginners that want to start developing in a simple environment, but less so for expert Python developers that want more from their next Python IDE.

With a UI that is isolated from features that may distract beginners, Thonny is a well-thought-out pedagogical IDE for beginners who want to develop in Python quickly, easily, and simply.

Advantages:

  • IDE adapted for beginners’ learning
  • Basic and functional user interface
  • Easy to get started (comes with Python built-in)

Disadvantages:

  • Not for the experienced developer
  • Lacks advanced features offered by other IDEs

How to choose the best Python IDE in 2023?

For beginners, there are several Python IDEs that allow you to build a comfort level with the environment as you become steadily familiar with each feature.

For ease of installation, IDLE is a strong choice for beginners as it’s bundled with Python on your system. If you’d like to explore other options, Thonny and Wing 101 are excellent choices as they’ve both been designed with beginners in mind.

But if you’d like to code in a more professional environment, you could consider Pycharm as your next IDE, or if you’d prefer portability, VS Code is a solid choice as one of the best Python code editors.

Experienced and professional developers find themselves spoilt for choice. If you’re after an IDE that offers strong performance with larger projects, then Pycharm or PyDev (Eclipse) are popular options. Similarly, VS Code is often chosen when a code editor is preferred.

If you’re part of the ever-expanding data science community then Jupyter should be at the top of your list. Equally, Spyder is one of the best python ides for scientific computing, so this may be a good choiceif your development aligns with its strengths.

Then again, perhaps you’re a little more ‘old school’ and you’d prefer the look and feel of GNU/Emacs or Sublime, both of which are very popular with Linux developers.

Free Python IDE

Python IDE for Mac

Python IDE for Windows

  • Pycharm
  • PyDev 
  • Visual Studio Code
  • Jupyter Notebook
  • Spyder
  • Thonny
  • PyDev 
  • Pycharm
  • Visual Studio Code
  • Jupyter Notebook
  • Spyder
  • Wing
  • Thonny
  • PyDev
  • Pycharm
  • Visual Studio Code
  • Jupyter Notebook
  • Spyder
  • Wing
  • Thonny

Conclusion

Python is one of the most well-known languages and perhaps even the most popular. If you’re looking for the best Python IDE to boost your productivity, you have a multitude of useful, practical, and powerful Python IDEs to choose from, be they paid options or free. Equally, if you prefer a lightweight code editor, there’s plenty to choose from in both the free and paid tiers.

If you’re a Python beginner then the Complete Python Bootcamp course is a great place to start your beginner-to-expert Python developer journey.

Frequently Asked Questions

1. What Is the Best IDE for Python?

The best Python IDE is that which enhances your coding experience and productivity by the greatest margin. If you’re a beginner, then it may be good to start with IDLE, Thonny or Wing 101. If you’re an experienced developer, you can choose any of the IDEs we’ve covered, but the most popular choices tend to be Pycharm for an IDE and VS Code for a code editor.

2. Which is the Best Python IDE for Beginners?

Several Python IDEs have been designed with beginners in mind. These let you build a comfort level with the environment as you become familiar with each feature. IDLE is a good choice as it’s installed with Python. Thonny and Wing 101 are also excellent choices as they offer simple UIs that were designed for beginner developers. Pycharm’s free tier is also one of the best Python environments for beginners.

3. What Is the Official IDE for Python?

There is no official IDE for Python per se. IDLE is bundled with Python, so it could be viewed as the official IDE, but the Python developer community is open-minded and collaborative, meaning that there’s extensive user support and feedback for each of the Python IDEs we’ve covered. 

4. Which Python IDE Should I Use for Machine Learning?

Jupyter is a popular choice for machine learning developers as it offers ease of use with running simulations and sharing results with others. Similarly, Spyder is popular with the data science community due to its extensive scientific computing features and library integration. However, any of the IDEs we’ve covered can be used for machine learning if you’ve installed the necessary libraries.

People are also reading:

  • What is Pycharm?
  • Python Programming Language
  • Python Best Courses
  • Best Python Libraries
  • Best Python Courses
  • Best Python Certifications
  • Best Python Books
  • Top Python Projects
  • Top Python Interview Questions

Table of Contents

Launched in 1991 by creator Guido van Rossum, Python was developed with an emphasis on code readability via syntax that allows developers to create more with fewer lines of code. This is why if you’re new to programming, it is often recommended that you start with Python. And if you’re looking to boost your productivity when developing Python code, you’ll want the best Python IDE or Python editor.

The Python language has evolved enormously over the years thanks to the contribution of Python developers and programmers worldwide. It’s now one of the most widely used programming languages with a huge range of packages, libraries, and frameworks. 

Python is a versatile language that can be used for various applications including Blender (3D modeling software), machine learning/artificial intelligence, and web development to name a few. As Python is often used for scripting, lightweight text editors like notepad++ or even plain notepad can be useful Python tools.

Udacity Horizontal Banner

Python interpreters are available on most operating systems including Linux, macOS, and Windows. If you plan to work on larger projects, we recommend a dedicated code editor or an integrated development environment (IDE). Python IDEs and Python code editors offer their own distinct features and user interfaces.

In this article, we will cover some of the most popular Python IDEs and Python editors, taking into account their pros, cons, and use cases. Many of also these offer free tiers, so you’ll be able to choose the best free IDE for Python if you’re just starting out. 

Featured Python IDEs & Editors

Pycharm: Hugely popular, powerful, and feature-rich Python IDE. Learn more

Visual Studio Code: Lightweight and extensible code editor. Learn more

Jupyter Notebook: Data Science IDE, easily run simulations and share data. Learn more

Looking to master Python? The Complete Python Bootcamp from Udemy could be a great stepping stone for you. Also check out our article on the best Python courses to help you on your way to becoming a Python expert.

Before moving on, let’s first dig into what IDEs and code editors are, and then we’ll discuss the requirements for these Python tools to create a good development environment.

What are IDEs and Code Editors?

Whether you’re a college freshman taking your first CS course, or a Staff Software Engineer, you need an IDE or a code editor to efficiently edit, read, and debug code.

Recommend Python Course

Complete Python Bootcamp From Zero to Hero in Python

An integrated development environment (IDE) is a software application that helps programmers to develop software efficiently. It increases developer productivity by combining common developer tools such as software editing, building, testing, debugging, and packaging in one easy-to-use graphical user interface (GUI). Other popular features include code refactoring, code search, code auto-completion, and continuous integration/continuous deployment (CI/CD).

An IDE can also provide many more features and these generally vary with each IDE. 

While code editors are similar to text editors, they are designed to both ease and speed up code development via sophisticated built-in capabilities and functionalities. Sometimes code editors can be mistaken for IDEs, but the main difference between the two is that IDEs provide more powerful tools to simplify the coding process.

10 Best Python IDE & Python Code Editors

To help you choose the best Python IDE or code editor, we’ve done some extensive research to put a list together of the ten top Python IDEs and Python code editors based on popularity, functionality, number of users, and user feedback. We’ve also made sure to include IDEs and editors in this list that cater to both beginners and professional developers.

To make sure each of the IDEs and editors were up to the task, we took the time to put them through their paces. This included installing each on a Windows, macOS, and Linux platform, and then running a range of Python scripts from small individual files, to multi-folder packages. This helped us to confirm that each of the options in this list were up to the task that they’d been designed for — whether that’s to assist beginner developers or allow professionals to level up their day-to-day coding experience.

1. Pycharm

Pycharm

Platform: Linux/macOS/Windows

Official website: https://www.jetbrains.com/pycharm/

Type: IDE

Developed by JetBrains, Pycharmis one of the most popular Python IDEs. With productivity tools like quick and safe code refactoring, Pycharm really stands out from the competition. It is available in three versions: Apache-licensed Community version, Educational (Edu) version, and proprietary Professional version. The first two versions are open source and free of charge, but you’ll have to pay for the Professional version.

The free Community version is great for beginners as it offers a variety of features such as syntax highlighting, auto-completion, and live code verification. The paid version offers advanced features like full database management along with a range of specific frameworks and web development tools.

Advantages:

  • Active community support
  • Lots of useful plugins and productivity shortcuts
  • Executes, edits, and debugs Python code without any external requirements

Disadvantages:

  • Professional version is rather expensive
  • Free tier offers less functionality than the paid versions
  • Community version does not allow other programming languages to be used

2. Pydev

Platform: GNU/Linux/macOS/Windows/Solaris

Official website: https://www.eclipse.org/; http://pydev.org/

Type: IDE

Eclipse is a free IDE that was historically designed for the Java language. Still, thanks to a system of plugins or extensions, you can use it with other languages, including Python.

You’ll need the Pydev plugin to use Eclipse as a Python IDE, which then allows you to develop in Python, Jython, or IronPython. Pydev also uses advanced inference techniques to provide features like auto-completion and code analysis.

As one of the best IDEs for Python, Eclipse also provides these features: debugger, Django, interactive console, basic syntax highlighting, code coverage, and more. 

Advantages:

  • Easy to learn and feature-rich
  • Has a large and active community

Disadvantages:

  • User interface is not very less modern
  • Plugins can be unstable

3. IDLE

Platform: Linux/macOS/Windows

Official website:https://docs.python.org/3/library/idle.html

Type: IDE

IDLE, or Integrated Development and Learning Environment, is a free IDE that comes bundled with any Python installation. It allows you to edit, run, and debug Python code in a simple Python shell and code editor environment, making it great for beginners. 

As a cross-platform IDE, it is available on Windows, LInux, and MacOS. IDLE consists of a multi-window text editor with syntax highlighting and an integrated debugger that offers stepping, persistent breakpoints, and call stack visibility.

Advantages

  • User-friendly for beginners
  • Offers features like syntax highlighting, search, auto-completion, & smart indent
  • Integrated debugger with stepping & breakpoint features

Disadvantages:

  • May be too simple for some
  • Not suitable for large projects
  • Lacks the advanced features offered by other IDEs

4. Visual Studio Code (VS Code)

Visual Studio Code

Platform: Linux/macOS/Windows

Official website:https://code.visualstudio.com

Type: Code Editor

Developed by Microsoft for Windows, Linux and macOS, VS Code is a free and extensible code editor (not to be confused with Visual Studio). VS Code is a small but comprehensive open source code editor with an MIT license. It supports several programming languages, including Python after you install an extension. VS Code is relatively lightweight and comes with many useful features like syntax highlighting, code auto-completion, Git integration, and advanced code debugging. If you’re looking for a lightweight, fast, and customizable Python code editor, it’s a great choice.

One of the main advantages of VS Code is a design that makes great use of an extension-based architecture. Being lightweight, it can be easily extended by adding new components when they’re needed.

Advantages:

  • Advanced customization with 30,000+ extensions in circulation
  • Powerful code management engine
  • You can import keyboard shortcuts from Python editors like Sublime Text or Atom

Disadvantages:

  • Initial customization can be overwhelming/difficult due to the quantity of available extensions
  • Extensions can be unreliable at times

5. Sublime Text

Sublime Text

Platform: Linux/macOS/Windows

Official website:http://www.sublimetext.com/

Type: Code Editor

First conceived as an extension for Vim, Sublime Text is a generic text editor written in C++ and Python code. Since the launch of version 2.0, it supports 44 major programming languages, including Python. Sublime Text requires a paid license, but there is an option to evaluate the code editor for free (and without an enforced time limit!).

After installing Sublime Text, thanks to its different plugins and packages, you get a high-quality and powerful tool that is one of the best Python editors to help you with your development. It also incorporates most of the features you’d expect from a basic Python IDE, including customizable syntax highlighting.

Advantages:

  • Fast, with very few bugs (big advantage)
  • Offers a variety of customization with plugins
  • Supports many languages

Disadvantages:

  • License required
  • Plugins can be confusing/difficult to install
  • Steep learning Curve

6. Jupyter Notebook

Jupyter Notebook

Platform: Linux/macOS/Windows

Official website: https://jupyter.org/

Type: IDE

Jupyter notebook is a free and open source IDE that is used to create Jupyter documents. Uniquely, it is a web-based IDE that allows you to easily share your work.

Jupyter Notebook is very popular among data scientists as it’s great for machine learning, simulations, data visualizations, data analysis, and also for sharing and presenting findings. Jupyter is ready to work right out of the box, requiring little to no configuration. This makes it a perfect tool for quick Python scripting.

Advantages:

  • Easy to use and learn
  • Supports 40+ different languages
  • Easy to share work

Disadvantages:

  • Mostly suited to development in the fields of data and scientific computing
  • Lacks advanced features offered by other IDEs
  • Coding within independent cells may be difficult to manage as the cell count increases

7. Spyder

Spyder

Platform: Linux/macOS/Windows

Official website:https://github.com/spyder-ide/spyder

Type: IDE

The Python scientific community has been maintaining Spyder since 2012. With basic features like syntax highlighting and auto-completion, Spyder also integrates several scientificlibraries like Matplotlib,NumPy, IPython, and SciPy. It is free, multi-platform, open-source, and the installation is very easy with a Python package manager like Pip.

Spyder offers a unique combination of advanced analysis, debugging, editing, interactive execution, in-depth inspection, and visualization capabilities that are comparable to scientific software packages. Its main components are the interactive console, the documentation viewer, the variable explorer, and development tools. These features make Spyder one of the best IDEs for Python code in scientific development.

Advantages:

  • Community support
  • Rich set of development tools
  • Comprehensive documentation

Disadvantages:

  • Execution dependencies
  • Optional dependencies
  • Steep learning curve

8. Wing

Wing

Platform: Linux/macOS/Windows

Official website: https://wingware.com/

Type: IDE

Wing is a Python IDE that was specifically designed to provide a more productive development experience in Python. It offers a strong range of features including code feedback, syntax highlighting, code auto-completion, smart refactoring, and more.

Wing has three pricing tiers: Wing Pro (paid), Wing Personal (free), and Wing 101 (free). As a scaled-back version of Wing Personal, Wing 101 was originally designed for teaching entry-level computer science courses which makes it one of the best IDEs for Python beginners. As you’d expect, Wing Pro (the paid version) is the most feature-rich of the available options.

Advantages:

  • Customizable and extensible
  • Powerful debugger
  • Feature-rich

Disadvantages:

  • Minimal support for languages that aren’t Python-based
  • Wing Pro can be expensive, and it has to be renewed annually
  • UI is a little outdated

9. GNU/Emacs

GNU

Platform: Linux/macOS/Windows

Official website:https://www.gnu.org

Type: Text editor

GNU Emacs is a feature-rich text editor that is highly customizable via various extensions and it’s available to download for free on all platforms.

For Python development, you can use the Elpy extension This is a feature rich Emacs extension for working with Python projects. Among its many features, we have to mention syntax highlighting that differentiates document elements such as keywords and comments, and automatic indentation which ensures consistent formatting throughout your file.

Advantages:

  • Free and fully customizable
  • Fully navigable via keyboard bindings (but you don’t have to)
  • 24-bit color encoded support for terminals that support this

Disadvantages:

  • Steep learning curve
  • Documentation may be out of date

10. Thonny

Thonny

Platform: Linux/macOS/Windows

Official website:https://thonny.org

Type: IDE

Thonny is advertised as the Python IDE for beginners. Designed to make life easier for new Python developers, Thonny is a simple and lightweight IDE with excellent features that is free of charge. This makes it one of the best IDES for Python beginners that want to start developing in a simple environment, but less so for expert Python developers that want more from their next Python IDE.

With a UI that is isolated from features that may distract beginners, Thonny is a well-thought-out pedagogical IDE for beginners who want to develop in Python quickly, easily, and simply.

Advantages:

  • IDE adapted for beginners’ learning
  • Basic and functional user interface
  • Easy to get started (comes with Python built-in)

Disadvantages:

  • Not for the experienced developer
  • Lacks advanced features offered by other IDEs

How to choose the best Python IDE in 2023?

For beginners, there are several Python IDEs that allow you to build a comfort level with the environment as you become steadily familiar with each feature.

For ease of installation, IDLE is a strong choice for beginners as it’s bundled with Python on your system. If you’d like to explore other options, Thonny and Wing 101 are excellent choices as they’ve both been designed with beginners in mind.

But if you’d like to code in a more professional environment, you could consider Pycharm as your next IDE, or if you’d prefer portability, VS Code is a solid choice as one of the best Python code editors.

Experienced and professional developers find themselves spoilt for choice. If you’re after an IDE that offers strong performance with larger projects, then Pycharm or PyDev (Eclipse) are popular options. Similarly, VS Code is often chosen when a code editor is preferred.

If you’re part of the ever-expanding data science community then Jupyter should be at the top of your list. Equally, Spyder is one of the best python ides for scientific computing, so this may be a good choiceif your development aligns with its strengths.

Then again, perhaps you’re a little more ‘old school’ and you’d prefer the look and feel of GNU/Emacs or Sublime, both of which are very popular with Linux developers.

Free Python IDE

Python IDE for Mac

Python IDE for Windows

  • Pycharm
  • PyDev 
  • Visual Studio Code
  • Jupyter Notebook
  • Spyder
  • Thonny
  • PyDev 
  • Pycharm
  • Visual Studio Code
  • Jupyter Notebook
  • Spyder
  • Wing
  • Thonny
  • PyDev
  • Pycharm
  • Visual Studio Code
  • Jupyter Notebook
  • Spyder
  • Wing
  • Thonny

Conclusion

Python is one of the most well-known languages and perhaps even the most popular. If you’re looking for the best Python IDE to boost your productivity, you have a multitude of useful, practical, and powerful Python IDEs to choose from, be they paid options or free. Equally, if you prefer a lightweight code editor, there’s plenty to choose from in both the free and paid tiers.

If you’re a Python beginner then the Complete Python Bootcamp course is a great place to start your beginner-to-expert Python developer journey.

Frequently Asked Questions

1. What Is the Best IDE for Python?

The best Python IDE is that which enhances your coding experience and productivity by the greatest margin. If you’re a beginner, then it may be good to start with IDLE, Thonny or Wing 101. If you’re an experienced developer, you can choose any of the IDEs we’ve covered, but the most popular choices tend to be Pycharm for an IDE and VS Code for a code editor.

2. Which is the Best Python IDE for Beginners?

Several Python IDEs have been designed with beginners in mind. These let you build a comfort level with the environment as you become familiar with each feature. IDLE is a good choice as it’s installed with Python. Thonny and Wing 101 are also excellent choices as they offer simple UIs that were designed for beginner developers. Pycharm’s free tier is also one of the best Python environments for beginners.

3. What Is the Official IDE for Python?

There is no official IDE for Python per se. IDLE is bundled with Python, so it could be viewed as the official IDE, but the Python developer community is open-minded and collaborative, meaning that there’s extensive user support and feedback for each of the Python IDEs we’ve covered. 

4. Which Python IDE Should I Use for Machine Learning?

Jupyter is a popular choice for machine learning developers as it offers ease of use with running simulations and sharing results with others. Similarly, Spyder is popular with the data science community due to its extensive scientific computing features and library integration. However, any of the IDEs we’ve covered can be used for machine learning if you’ve installed the necessary libraries.

People are also reading:

  • What is Pycharm?
  • Python Programming Language
  • Python Best Courses
  • Best Python Libraries
  • Best Python Courses
  • Best Python Certifications
  • Best Python Books
  • Top Python Projects
  • Top Python Interview Questions

Если у вас на компьютере установлен язык программирования (компилятор или интерпретатор), можно писать код даже в Блокноте, а затем исполнять его через консоль. Но это неудобно. Разработчики пользуются редакторами кода или IDE — интегрированными средами разработки. Так называется комплекс программных средств для кодинга: в них можно писать, редактировать, исполнять и отлаживать код.

Мы поговорим о таких средствах для Python. Это популярный язык программирования, который применяется во множестве отраслей: от веба до прикладной математики. Поэтому инструменты многочисленны и разнообразны.

Узнать о нем больше можно в нашей статье Кому и для чего нужен Python?

Итак, существует два вида ПО для кодинга: IDE и редактор кода. Они похожи с первого взгляда, но сильно различаются возможностями.

  • Редактор кода — это простая легковесная программа, которая похожа на текстовый редактор, только больше адаптированная под написание кода. Она сохраняет проекты в нужном расширении, подсвечивает синтаксис и автоматически проверяет отступы в коде.
  • IDE — более масштабный инструмент, программный комплекс. Помимо редактора в нем есть собственная консоль, инструменты для запуска, тестирования и отладки кода. Через IDE можно создавать крупные проекты, подключать систему контроля версий (Git). Некоторые IDE позволяют устанавливать внутри себя новые фреймворки и библиотеки, не заходя в терминал системы.

Редактор кода — это или самостоятельная программа, или часть IDE. Он выглядит как окно, где можно набрать текст, но более адаптирован под код.

Подсветка синтаксиса. Это означает, что, например, служебные слова будут одного цвета, комментарии — другого, классы будут выделяться другим начертанием и так далее. Это помогает быстрее ориентироваться в коде и находить нужные места. Более того, большинство существующих инструментов используются для нескольких языков программирования, поэтому знают синтаксис не только Python. При создании файла можно выбрать, на какой язык будет ориентироваться подсветка. Также программа может понять это самостоятельно по расширению файла.

Форматирование и установка отступов. Отступы используются практически во всех языках программирования, но в Python они обязательны и являются частью синтаксиса. Редакторы обычно умеют поддерживать и ставить нужные отступы автоматически. Но это только малая часть. Хорошие IDE и редакторы поддерживают более масштабное автоформатирование. например, во многих редакторах есть спеллчекеры — они показывают, если что-то написано неправильно, и обращают внимание пользователя на ошибку. Также есть инструменты, которые автоматически дополняют команды и функции из кода.

Возможность запуска кода. Изначально запуск кода был прерогативой IDE, но в некоторых редакторах есть возможность запуска написанного кода в консоли непосредственно из него. Не нужно выходить из редактора и открывать терминал, все запустится автоматически нажатием соответствующей кнопки в редакторе.

Создание, редактирование и сохранение файлов. Большинство редакторов и практически все IDE могут показывать структуру файлов в папке. Обычно это нужно для проектов, которые включают больше одного файла. Прямо внутри среды можно переключаться между файлами, создавать новые в папках и подпапках, сохранять изменения. Более того, многие приложения поддерживают системы контроля версий вроде Git и дают возможность делать коммиты прямо из среды, причем это умеют не только IDE, но и некоторые редакторы.

Отладка. Это процесс нахождения и исправления ошибок. Чтобы это можно было сделать быстрее, существуют расширенные возможности: пошаговое выполнение кода, остановка исполнения в определенной точке, просмотр содержимого переменных в любой момент времени и многое другое. Все это входит в функционал инструментов отладки.

Кастомизация. Любую IDE и почти любой редактор можно настроить под себя. Это не только цветовая гамма и размеры шрифта, но и расположение окон и кода, панели под рукой, горячие клавиши и многое другое. Некоторые инструменты поддерживают дополнения — сторонние расширения, дополняющие функциональность. Их можно установить в IDE или даже в редактор. Например, браузерные расширения или возможность по-новому редактировать код или дополнять слова.

Читайте также: С чего начать учить Python?

В редакторах есть все инструменты для начального уровня работы с кодом, и часто их бывает достаточно. Рассмотрим отдельные возможности, которые предоставляют IDE:

  • визуальный редактор для быстрого создания проектов из блоков и отдельных файлов;
  • полная синхронизация с системой контроля версий;
  • интерактивная консоль;
  • дополнительные инструменты для того или иного направления IT;
  • множество возможностей для наглядной отладки, тестирования, анализа кода, а также решения различных задач;
  • возможность установить фреймворк или библиотеку через интерфейс среды;
  • возможность работать с несколькими языками программирования, в том числе одновременно.

Кому-то будет удобнее работать с простым и не занимающим много памяти редактором, а кому-то — с масштабной IDE со множеством дополнительных возможностей.

Отличный вариант как для начинающих, так и для продвинутых программистов. У PyCharm понятный интерфейс, она изначально адаптирована под Python. Ее не придется долго донастраивать, чтобы код просто запустился, — можно установить IDE и сразу начать работать. Среда отлично поддерживает всевозможные дополнения и дает огромный простор действий. Но загружается и работает она все же медленнее, чем средний редактор.

PyCharm существует в платной коммерческой и бесплатной комьюнити-версии. Бесплатной хватает большинству начинающих программистов, а коммерческая нужна в основном компаниям и профессионалам, работающим с большими проектами.

Это бесплатная опенсорсная IDE для Python с важным нюансом: она рассчитана на разработку в сфере Data Science. В ней есть много инструментов и оптимизаций для работы с данными, но для других задач она подходит не так хорошо. Например, Spyder «из коробки» включает пакетный менеджер Anaconda, который используется в анализе данных и машинном обучении. Он хорошо и быстро работает с библиотеками для математики и ML. Кроме того, за него не надо платить, а основные функции IDE в нем есть.

Минус в том, что это специализированный инструмент — разработчикам вне науки о данных и машинного обучения он может показаться недостаточно удобным.

Эта среда по умолчанию поставляется с Python. Она написана на нем, имеет все возможности интегрированной среды разработки, проста и минималистична. С ней можно начать программировать, но для дальнейшей работы, скорее всего, будет удобнее другой, более масштабный инструмент.

Интересный факт: как язык Python был назван в честь комик-группы «Монти Пайтон», так и IDLE назвали в честь одного из участников этой группы — Эрика Айдла.

Еще один вариант для начинающих, простой, но функциональный. Эта IDE уже включает в себя нужную разработчику версию Python и не требует сложных дополнительных настроек. Ее называют Python IDE for beginners — это определение дали среде ее разработчики.

Для начинающих Thonny действительно подойдет: в ней легко разобраться, она бесплатная и понятная. Но для тех, кому нужна расширенная функциональность, ее будет недостаточно.

Существует как минимум две IDE, изначально созданные для других языков, но поддерживающие в данный момент и Python. Такие IDE будут полезны тем, кто работает с несколькими языками одновременно.

Мощная мультиязычная среда от Microsoft. Она гибко настраивается под задачи, включает инструменты для написания кода под множество платформ и направлений. VS поддерживает C/C++, Java, Python, JavaScript и TypeScript и пр. Ей пользуются для веба, для написания приложений под ПК и мобильные устройства, для создания программ под разные операционные системы. В ней есть все, что нужно любому разработчику, а дополнительные модули расширяют функциональность среды под конкретные задачи. В VS есть и инструменты для сборки интерфейсов, и отладка, и ПО для рефакторинга или дополнения слов.

Чтобы работать с Python в Visual Studio, понадобится расширение Python Tools for Visual Studio. Все расширения официальные и бесплатные, их можно скачать с сайта. Для различных конкретных задач существуют разные сборки VS. Есть и продвинутые платные версии среды, но для начинающих и любителей будет достаточно бесплатной Community-версии.

Изначально IDE использовалась для Java, но сейчас она позволяет работать и с Python — для этого понадобится установить расширение PyDev. По функциональности Eclipse сравнима с VS, но, в отличие от нее, опенсорсная и полностью бесплатная, разрабатывается при поддержке сообщества энтузиастов.

Обе среды очень масштабные. Они позволяют одновременно писать код на Python, создавать интерфейс, работать с SQL Server, создавать проекты на нескольких языках программирования и т.д., но у новичков могут вызвать затруднения. Большинство инструментов нужны или профессиональным разработчикам, или тем, кто пользуется не одним языком.

В теории это платный редактор, но на практике необходимость платить выражается только в баннере в интерфейсе — ПО работает и без оплаты. Sublime легкий, удобный и быстрый, подходит для большинства платформ, хорошо поддерживается сообществом. Для него есть множество пакетов, которые позволяют расширять и дополнять поддержку синтаксиса.

Но Sublime Text — только редактор. В отличие от других двух программ из списка, он не умеет запускать и отлаживать код. Это плата за легковесность и возможность быстро работать в любой ОС.

Как и Visual Studio, редактор разработал Microsoft. Но его идея совсем другая — это небольшой и емкий инструмент. Для него существует множество плагинов, написанных разными разработчиками, он полностью бесплатный. Visual Studio Code можно настроить под любой язык — нужно скачать расширения, доступные в маркетплейсе внутри самого редактора.

VS Code не такой легкий, как Sublime Text. Он более функционален, в нем есть инструменты для запуска и отладки и интеграция с системой контроля версий. Но он весит больше и медленнее работает.

VS Code написан на фреймворке Electron. Это инструмент, который позволяет создавать приложения под разные ОС с помощью HTML, CSS и JavaScript. Это удобно, но из-за этого любое Electron-приложение, по сути, работает внутри специального браузера. Оно взаимодействует с системой напрямую, поэтому сильнее нагружает мощности компьютера, чем нативное (которое оптимизировано под конкретную ОС, поэтому может работать корректнее и быстрее).

  • Новичкам, которые впервые работают в редакторе кода, можно посоветовать редакторы VS Code либо Atom. Если вам не требуются отладка и запуск, зато важна скорость, неплохим вариантом будет Sublime Text.
  • Людям, которые уже работали с IDE и хотят большего, советуем обратить внимание на специализированные инструменты для конкретных задач вроде Spyder. А если нужна универсальная IDE, оптимальный вариант — PyCharm.
  • Разработчикам на нескольких языках, которые работают над большими проектами, может подойти VS или Eclipse. Но если хотите что-то попроще и побыстрее, подойдут редакторы Atom и VS Code. Они могут поддерживать ряд языков одновременно, а дополнительные инструменты обеспечивают запуск и отладку.

Тестируйте разные инструменты, смотрите на их возможности и учитесь: так вы сами сможете найти среду для кодинга, которая вам ближе. А мы всегда готовы помочь вам в обучении.

Да, писать код на Python можно и в простом текстовом редакторе, однако использование специального редактора кода или IDE с дополнительным инструментарием может существенно улучшить продуктивность работы. Но редакторов и IDE много. Как выбрать? Как понять, какие функции важны? А какие из них важнее всего в вашем случае? Стоит ли платить за редактор или IDE?

Сегодня мы разберем все эти вопросы, рассматривая десятку самых лучших редакторов кода и IDE для Python (по состоянию на 2021 год).

Окно редактора кода

Интегрированная среда разработки (Integrated Development Environment (IDE)) — программное обеспечение с очень обширным набором инструментов, использующихся для написания и тестирования кода. У каждой IDE свой арсенал самых полезных инструментов, но среди них обязательно будет текстовый редактор для написания кода, встроенные инструменты для автоматической компиляции и отладчик для обнаружения возможных ошибок.

Специализированные IDE могут содержать и более продвинутые инструменты, например, интеграции систем искусственного интеллекта.

Редакторы кода — это легковесные альтернативы IDE. В них есть текстовый редактор с автоматической подсветкой синтаксиса и простой отладчик для поиска багов, но нет сложных инструментов, которые можно найти в IDE.

Необходимый функционал в редакторах кода и IDE для работы с Python

  • Подсветка синтаксиса. Автоматическая подсвета разных видов синтаксиса необходима для обеспечения наилучшей читаемости кода. Например, все имена переменных подсвечиваются белым, ключевые слова — оранжевым и т. д. Благодаря этому вы даже при беглом просмотре кода можете понять, что в нем происходит.
  • Автоматическое форматирование кода. IDE и редакторы с поддержкой Python могут автоматически проставлять отступы, добавлять двоеточия, вставлять пропущенные закрывающие скобки, и все это — в соответствии со стилевыми правилами написания кода на Python. Это означает, что вам не придется тратить время на форматирование, да и на написание кода будет уходить меньше времени.
  • Отладка. В разных инструментах разный подход к отладке, но будет хорошо иметь возможность по крайней мере пошагово отслеживать изменения в коде. В идеале вам нужен инструмент, который будет указывать на потенциальные ошибки и подсвечивать их еще до запуска кода.
  • Автоматизация сборки. Ваш инструмент должен позволять писать код на Python и запускать его в том же окне. Копипаст кода из редактора во внешние компиляторы (для запуска) — это дополнительное время и лишняя возня.
  • Сохранение и перезагрузка. Все IDE и редакторы кода должны иметь функцию сохранения и перезагрузки кода в сохраненном состоянии. В самых лучших инструментах помимо этого будет и контроль версий, чтобы при необходимости вы могли вернуться к предыдущим вариантам сборки.

10 самых лучших IDE и редакторов кода для Python

При выборе IDE или редактора приходится идти на компромиссы или в степени кастомизации, или в скорости этой самой кастомизации. В нашем списке инструменты построены от наименее до наиболее настраиваемых.

Шкала кастомизации

IDE и редакторы кода общего назначения

Atom (редактор кода)

Окно редактора Atom

Atom — это редактор, готовый «из коробки». Он имеет открытый исходный код и элегантный вид. Баланс производительности и кастомизации у него, как в Sublime, а настройка делается быстро. В основе редактора лежит фронтенд-фреймворк Electron — инструмент для создания настольных приложений с использованием JS, CSS и HTML.

В Atom есть встроенная поддержка любимых функций разработчиков: автоматического дополнения кода и поиска/вставки. Сам редактор разработан GitHub, так что не удивительно, что в нем есть встроенный функционал для интеграции с GitHub и Git.

Atom допускает применение пользовательских плагинов. Вместе с тем вы можете с легкостью подобрать и установить нужные плагины при помощи платформы с бесплатными пакетами. Эти плагины помогут вам расширить функционал редактора в соответствии с вашими нуждами.

Основной недостаток Atom — он не такой отполированный, как многие другие редакторы кода. Со времени первого выпуска выходило много обновлений, но редактор все равно периодически падает. К сожалению, с тех пор, как в 2018 году Microsoft приобрела GitHub, выход обновлений заметно замедлился.

Достоинства

  • Можно использовать из коробки
  • Легковесность и кастомизация при помощи плагинов
  • Легкая интеграция плагинов

Недостатки

  • Долго загружается при включении
  • Есть проблемы с производительностью
  • Запускается как JavaScript-процесс
  • Некоторые необходимые функции (отладка, сборка кода и т. п.) добавляются при помощи плагинов.

Use Case

Atom вам подойдет, если вы работаете с несколькими языками и хотите иметь бесплатный и хорошо настраиваемый редактор кода, но не хотите тратить слишком много времени на тонкую настройку.

Codespaces (редактор кода)

Codespaces — новый облачный кроссплатформенный редактор кода, разработанный Microsoft и выпущенный в мае 2020 года. Пользоваться им можно в браузере.

В Codespaces вы найдете браузерный текстовый редактор, поддержку Git-репозиториев и расширений, а также встроенный интерфейс командной строки. Любопытно, что этим редактором можно пользоваться и офлайн — с обновлением после подключения к интернету.

Редактор совершенно бесплатный, но в будущем будет иметь платные опции.

Браузерный подход Codespaces позволяет работать где угодно, на любом устройстве с подключением к интернету. Это делает его прекрасным инструментом для командных проектов, потому что вам не придется передавать копии файлов или иметь какой-то общий инструмент.

Самый большой недостаток Codespaces — его новизна и неотшлифованность. Как и в любом новом проекте, в нем вы легко можете наткнуться на еще не исправленный баг.

Достоинства

  • Хорош для командных проектов
  • Можно использовать где угодно, на любом девайсе
  • Не нужно устанавливать или настраивать
  • Готовая интеграция с GitHub

Недостатки

  • Новый и неотшлифованный
  • Ограничение в 5 рабочих пространств
  • Ограниченная кастомизация

Use Case

Codespaces подойдет разработчику, который часто участвует в коллективных проектах или выступает контрибьютором в проектах с открытым кодом и не слишком озабочен кастомизацией.

Visual Studio (IDE)

Окно IDE Visual Studio

Visual Studio — IDE общего назначения, поддерживающая Python при помощи плагина Python Tools for Visual Studio (PTVS).

Эта IDE имеет богатый функционал, встроенную поддержку Git, встроенный терминал, полный набор инструментов для юнит-тестирования. Как и в Atom, есть маркетплейс с расширениями.

Visual Studio поставляется с Intellisense — одной из самых лучших на сегодняшний день систем автодополнения. При помощи плагинов можно добавить поддержку инструментов веб-разработки, таких как Flask или Django.

Есть бесплатная версия (Community) и платная (Business/Enterprise) — с дополнительными плюшками вроде поддержки пользователя и инструментов DevOps.

Visual Studio также имеет легковесный редактор кода — Visual Studio Code (VS Code).

Достоинства

  • Богатый функционал из коробки
  • Подходит для многих языков и платформ
  • Легкое добавление плагинов
  • Автодополнение Intellisense

Недостатки

  • Дополнительные ресурсы — платные
  • Слишком большая «зона покрытия», если вы планируете пользоваться только для Python-программирования
  • Недоступность для ОС Linux

Use Case

Visual Studio подойдет разработчику, который регулярно меняет языки, хочет изучить один инструмент для всех своих программистских нужд и не слишком заинтересован в визуальных настройках.

Sublime Text 3 (редактор кода)

Окно редактора кода Sublime Text 3

Sublime Text — очень отзывчивый редактор кода, которым пользуются тысячи разработчиков. Поддерживает разные версии Python и позволяет назначать версию для каждого отдельного проекта.

Sublime — практически непревзойденный лидер по части скорости: все файлы, за исключением самых больших, открываются мгновенно. Второе преимущество этого редактора — невероятная настраиваемость при помощи подключаемых пользовательских пакетов.

Эти плагины позволят вам поменять буквально что угодно в редакторе, от внешнего вида до поиска ошибок, дополнения кода, поддержки языка и т. д. С каждый днем появляется все больше плагинов, а это значит, что Sublime, вероятно, один из самых обновляемых инструментов на сегодняшний день.

Основной недостаток Sublime — его цена ($80).

Достоинства

  • Высокая настраиваемость при помощи плагинов
  • Несравненная скорость
  • Отлично подходит для одновременной работы над несколькими проектами.

Недостатки

  • Цена в $80
  • В ванильной версии не хватает функционала
  • Сложно добавлять плагины

Use Case

Этот редактор подойдет опытному программисту, который хочет иметь настраиваемый и при этом легковесный инструмент для всех своих любимых языков, а также не боится потратить некоторое время на настройку.

Vim (редактор кода)

Vim — классический редактор кода, созданный как преемник редактора Vi. Он по умолчанию установлен в Mac OS и Linux, также его можно скачать и установить в Windows. Этот редактор известен крутой кривой изучения и тем, что результаты все же стоят затраченных усилий. Он по-прежнему обновляется, но кардинальные изменения происходят крайне редко.

По умолчанию Vim практически не имеет пользовательского интерфейса, пользоваться им нужно в командной строке. Это означает, что при помощи VIMscript вы сможете кастомизировать в этом инструменте практически что угодно, от внешнего вида до сочетаний клавиш. Благодаря этой особенности, Vim — потенциально самый настраиваемый и производительный редактор кода.

Научившись пользоваться Vim, вы получите очень эффективный инструмент, но переход к работе исключительно с клавиатурой будет нелегким (если только вы не опытный пользователь Vi). Настроить что-то при помощи VIMscript тоже непросто, потому что для этого фактически нужно создать отдельный программистский проект еще до начала работы с редактором!

Достоинства

  • Использование в работе исключительно клавиатуры очень повышает скорость программирования (как только все оптимизируете)
  • Можно запрограммировать собственные сочетания клавиш
  • Полная кастомизация при помощи VIMscripts
  • Доступен в Mac и Linux по умолчанию

Недостатки

  • Общеизвестно, что новичкам трудно овладеть этим инструментом
  • Кастомизация — сложный процесс

Use Case

Этот редактор прекрасно подойдет тем, кто уже умеет пользоваться Vi и привык все делать при помощи клавиатуры. Также Vim — прекрасный выбор для разработчика, который хочет иметь самый настраиваемый и эффективный редактор и готов ради этого примириться с крутой кривой изучения.

IDE, заточенные под Python

IDLE (IDE)

Окно IDE IDLE

IDLE — IDE, устанавливаемая с Python по умолчанию. В ней есть весь основной инструментарий: окно с оболочкой Python, автодополнение, подсветка синтаксиса, умные отступы и базовый отладчик.

IDLE — IDE с ограниченным функционалом, созданная для людей, изучающих программирование. Она легковесная и не слишком настраиваемая — чтобы не шокировать неподготовленных новичков. Но когда вы перейдете к более крупным проектам, вы заметите недостатки в производительности IDLE и нехватку нужных функций.

В IDLE также нет поддержки плагинов, а значит, вы не сможете расширить ее функционал, чтобы подогнать под свои нужды.

Достоинства

  • Поставляется с Python
  • Проста в освоении и использовании
  • Имеет все самые необходимые инструменты

Недостатки

  • Плохая производительность в крупных проектах
  • Не настраивается визуально
  • Нельзя добавлять функционал

Use Case

Если вы новичок в разработке на Python, хотите попрактиковаться на простеньких проектах и при этом не возиться с настройками, IDLE вам подойдет.

Thonny (IDE)

Окно IDE Thonny

Thonny — бесплатная IDE, спроектированная в качестве идеальной среды для начинающих. Пользовательский интерфейс прост. Встроены подсветка синтаксиса, автодополнение, отладчик и автоформатирование.

В этой IDE также есть уникальные функции для начинающих, например, трекер для значений переменных, находящийся рядом с основным редактором. Все опции устанавливаются через меню, а не путем правки конфигурационных файлов: это позволяет начинающим программистам сосредоточиться на написании кода. Даже установка плагинов оптимизирована для начинающих при помощи простого менеджера пакетов.

Недостаток Thonny в отсутствии продвинутых функций, которые есть в других IDE, например в PyCharm. Также нет специализированных инструментов для специфических приложений, доступных в Spyder. Из-за этого вам в конечном итоге придется перейти на другую IDE, как только ваши программы станут более сложными.

Достоинства

  • Простой, не отвлекающий пользовательский интерфейс
  • Настройка через меню, а не через файлы
  • Основные функции оптимизированы для начинающих

Недостатки

  • Нет специализированных инструментов
  • Производительность не такая хорошая, как в более продвинутых IDE

Use Case

Подойдет для начинающих Python-разработчиков, которые хотят больше функций, чем в IDLE, но еще не готовы перейти к более сложным IDE.

Spyder (IDE)

Окно Spyder

Spyder — IDE Python, созданная специально для разработчиков, занимающихся наукой о данных и машинным обучением. Она входит в Anaconda наряду с популярными библиотеками Python ( Scikit-learn, Numpy, Matplotlib, Scipy и Pandas).

Spyder имеет автодополнение, мощный отладчик, оболочку iPython и ограниченные инструменты для визуализации данных.

В Spyder меньше функций, чем, скажем, в PyDev. Эта IDE фокусируется скорее на предоставлении простого, легкого в использовании инструментария для не-разработчиков.

Достоинства

  • Простая установка и интеграция с основными библиотеками
  • Инструменты для работы с data science
  • Мощные инструменты отладки для помощи не-разработчикам

Недостатки

  • Функционал, не связанный с data science, ограничен
  • Мало опций для кастомизации

Use Case

Если вы занимаетесь исключительно наукой о данных или машинным обучением и хотите IDE, подогнанную под ваши нужды, Spyder будет прекрасным выбором.

PyDev (IDE)

Окно IDE PyDev

PyDev — это IDE-плагин для Eclipse, популярной Java IDE для open source разработки. Поставляется со всеми встроенными элементами управления Eclipse и добавляет поддержку автодополнения, интерактивной консоли и отладки для Python.

Это одна из немногих IDE, имеющих поддержку Jython и Cython. Также есть интеграция с Django с его инструментами для веб-разработки.

Хотя PyDev проигрывает другим IDE в плане функциональности и кастомизации, с ней будет очень легко начать работать тем, кто уже знаком с Eclipse. Правда, если вы не знакомы с Eclipse, кривая изучения будет довольно крутой.

Достоинства

  • Эту IDE легко освоят пользователи Eclipse
  • Оптимизация для веб-разработки на Django
  • Поддержка для Jython и Cython

Недостатки

  • Ограниченный функционал, поскольку это все-таки простой плагин
  • Освоить Eclipse непросто

Use Case

PyDev подойдет разработчику, который пользуется Python как вторичным языком для веб-разработки или участия в open-source и имеет опыт работы с Eclipse.

PyCharm (IDE)

PyCharm — одна из самых популярных кроссплатформенных IDE для Python, созданная и регулярно обновляемая солидной компанией JetBrains.

Эта IDE уже из коробки имеет все самые лучшие инструменты: контроль версий, автодополнение, подсветку ошибок, рефакторинг кода и т. д. В отличие от других сред разработки, в PyCharm можно начинать писать код сразу же после загрузки.

Часто отмечается особая полезность предлагаемого PyCharm кода (по сравнению с другими IDE).

Бесплатная версия PyCharm более легковесна и оптимизирована для data science. А платная ($100-200 в год) включает инструменты для веб-разработки и Python-приложения.

Кроме того, для работы PyCharm требуется много VRAM. Использовать ее на старых машинах не получится.

Достоинства

  • Уже установлен весь основной продвинутый функционал
  • Не требуется настройка
  • Инструментарий для Python-разработки любого рода

Недостатки

  • «Кусачая» цена версии с полным функционалом
  • Производительность очень зависит от возможностей вашей машины
  • Ограниченная кастомизация

Use Case

PyCharm в полной версии будет прекрасным выбором для разработчика, который согласен заплатить за немедленный доступ к самым лучшим инструментам, чтобы не возиться с настройкой или установкой плагинов.

Также стоит упомянуть

  • Emacs. Можно использовать для разработки на Python, но это довольно старый инструмент, из-за чего там нет более современных функций.
  • Jupyter Notebooks. Простой инструмент, оптимизированный для data science и графических представлений, но уж слишком специализированный, чтобы войти в наш список.

У вас есть свой любимый редактор для программирования на Python, не вошедший в наш список? Предлагайте в комментариях!

Понравилась статья? Поделить с друзьями:
  • Где писать доклады на windows 10
  • Где печатать документы на компьютере windows
  • Где папка торрента в windows 10
  • Где папка сеть в windows 10
  • Где папка сетевое окружение в windows 7