Для написания кода Python подойдет любая программа, которая позволяет редактировать текст, однако выбор правильного редактора сэкономит вам несколько часов в неделю. Все текстовые редакторы, перечисленные в этом разделе, поддерживают подсветку синтаксиса и могут быть расширены с помощью надстроек таким образом, чтобы выполнять статическую проверку кода (с помощью средств контроля качества кода) и делать отладку.
В табл. 3.1 перечислены текстовые редакторы, которые нам нравятся (по убыванию предпочтения), и объясняется, почему разработчику следует выбрать именно этот редактор. Далее в главе кратко рассматривается каждый из них. В «Википедии» по адресу https://en.wikipedia.org/wiki/Comparison_of_text_editors приведена таблица, в которой детально сравниваются текстовые редакторы (поможет тем, кто ищет определенную функциональность).
Таблица 3.1. Первый взгляд на текстовые редакторы
Инструмент
Доступность
Причина использовать
Sublime Text
Открытый API/бесплатный пробный период.
OS X, Linux, Windows
Быстро работает и задействует небольшой объем памяти.
Способен работать с крупными файлами (> 2 Гбайт).
Расширения написаны на Python
Vim
ПО с открытым исходным кодом/можно вносить пожертвования.
OS X, Linux, Windows, Unix
Вам нравится Vi/Vim.
Предустановлен (во всяком случае Vi) на каждой ОС кроме Windows.
Может быть консольным приложением
Emacs
ПО с открытым исходным кодом/можно вносить пожертвования.
OS X, Linux, Windows, Unix
Вам нравится Emacs.
Расширения написаны на Lisp.
Может быть консольным приложением
TextMate
ПО с открытым исходным кодом/нужна лицензия.
Только для OS X
Отличный пользовательский интерфейс.
Практически все интерфейсы (статическая проверка кода/отладка/тестирование) предустановлены.
Хорошие инструменты от Apple, например интерфейс для xcodebuild (его можно найти в Xcode bundle)
Atom
ПО с открытым исходным кодом/бесплатный.
OS X, Linux, Windows
Расширения написаны на JavaScript/HTML/CSS.
Хорошая интеграция с GitHub
Code
Открытый API (в будущем)/бесплатный.
OS X, Linux, Windows (но Visual Studio, соответствующая IDE, работает только в Windows)
IntelliSense (автозаполнение кода), предоставляемое VisualStudio.
Хорошо подходит для разработчиков на Windows, поскольку поддерживает .Net, C# и F#
Примечание. Имеется недостаток: пока нельзя расширять (в будущем будет исправлен) Sublime Text
Мы советуем использовать текстовый редактор Sublime Text (http://www.sublimetext.com/) для написания кода, разметки и просто текста. В первую очередь его рекомендуют из-за скорости; далее в списке достоинств идет количество доступных пакетов (3000+).
Редактор Sublime Text был выпущен в 2008 году Jon Skinner. Написан на Python, позволяет редактировать код Python и использовать этот язык, работая со своим API для расширения пакетов. Функция Projects (Проекты) позволяет пользователю добавлять/удалять файлы или каталоги (потом их можно найти с помощью функции Goto Anything (Перейти), которая определяет места внутри проекта, содержащие искомые элементы).
Для того чтобы получить доступ к репозиторию пакетов Sublime Text, вам понадобится PackageControl (https://packagecontrol.io/installation). Популярные пакеты включают SublimeLinter, интерфейс для работы с выбранными и установленными пользователем статическими проверками кода, Emmett для работы со сниппетами24 для веб-разработчиков и Sublime SFTP для удаленного редактирования с помощью FTP.
Редактор Anaconda (http://damnwidget.github.io/anaconda/) (не связан с одноименным коммерческим дистрибутивом Python), выпущенный в 2013 году, превращает Sublime практически в полноценный IDE, дополняя его статическими проверками кода, проверками строк документации, инструментом для запуска тестов и возможностью найти определение выделенных объектов или места, где они используются.
Vim
Vim — консольный текстовый редактор (иногда имеет графический интерфейс), в котором для редактирования используются горячие клавиши вместо меню и значков. Выпущен в 1991 году Брамом Муленааром (Bram Moolenaar); его предшественник Vi — в 1976-м Биллом Джоем (Bill Joy). Оба редактора написаны на C.
Vim можно расширить с помощью vimscript — простого языка для написания сценариев. Можно использовать другие языки. Для включения возможности написания сценариев на Python установите следующие флаги конфигурирования при сборке исходного кода, написанного на C: --enable-pythoninterp и/или --enable-python3interp. После этого можете начать сборку исходников. Чтобы узнать, какие версии Python вам доступны, введите :echo has("python") или :echo has("python3"). Результатом будет 1, если выражение верно, и 0, если нет.
Vi (и зачастую Vim) доступен сразу после установки практически в любых операционных системах, кроме Windows (для нее существует установщик Vim — http://www.vim.org/download.php#pc). Основные сочетания клавиш, используемые в Vi, доступны в большинстве других редакторов и IDE.