0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<p>Писать на Python, применяя для этого IDLE либо<strong>Python Shell</strong>, достаточно удобно. Первый инструмент создан с помощью библиотеки<strong>Tkinter</strong>и представляет собой не только интегрированную среду разработки, но и средство обучения (Integrated Development and Learning Environment).</p>
1
<p>Писать на Python, применяя для этого IDLE либо<strong>Python Shell</strong>, достаточно удобно. Первый инструмент создан с помощью библиотеки<strong>Tkinter</strong>и представляет собой не только интегрированную среду разработки, но и средство обучения (Integrated Development and Learning Environment).</p>
2
<p>Что касается Python Shell, то этот инструмент тоже достаточно популярен и по сути мало чем отличается от обычного Python за исключением одной детали: выражения внутри grave accent символов (`) не являются eval, так как обозначают выполнение команды в шелле. К примеру:</p>
2
<p>Что касается Python Shell, то этот инструмент тоже достаточно популярен и по сути мало чем отличается от обычного Python за исключением одной детали: выражения внутри grave accent символов (`) не являются eval, так как обозначают выполнение команды в шелле. К примеру:</p>
3
<p>Здесь ls -l выполнится как shell-команда. И мы можем написать код без (`) в конце строки, что тоже будет корректным синтаксисом:</p>
3
<p>Здесь ls -l выполнится как shell-команда. И мы можем написать код без (`) в конце строки, что тоже будет корректным синтаксисом:</p>
4
<p>А ещё есть возможность выполнять несколько команд одновременно на различных строках:</p>
4
<p>А ещё есть возможность выполнять несколько команд одновременно на различных строках:</p>
5
` echo test > test.txt cat test.txt `<p>Или выполнять команды, которые занимают несколько строк:</p>
5
` echo test > test.txt cat test.txt `<p>Или выполнять команды, которые занимают несколько строк:</p>
6
`echo This is \ a very long \ line<p>Всё это круто, но в нашей статье речь пойдёт не о Python Shell. А о том, что писать на IDLE или Python Shell удобно лишь в тех случаях, когда речь идёт<strong>о простых вещах</strong>. Но если размер проекта растёт, программирование превращается в мучение. И здесь не обойтись без хорошего редактора кода либо IDE.</p>
6
`echo This is \ a very long \ line<p>Всё это круто, но в нашей статье речь пойдёт не о Python Shell. А о том, что писать на IDLE или Python Shell удобно лишь в тех случаях, когда речь идёт<strong>о простых вещах</strong>. Но если размер проекта растёт, программирование превращается в мучение. И здесь не обойтись без хорошего редактора кода либо IDE.</p>
7
<h2>Немножко теории</h2>
7
<h2>Немножко теории</h2>
8
<p>Как известно,<strong>IDE</strong>- интегрированная среда разработки и полноценная система программных средств, специально предназначенных для создания софта. Здесь есть и подсветка синтаксиса, и автодополнение, и инструменты для сборки, выполнения и отладки. Как правило, поддерживается несколько языков программирования.</p>
8
<p>Как известно,<strong>IDE</strong>- интегрированная среда разработки и полноценная система программных средств, специально предназначенных для создания софта. Здесь есть и подсветка синтаксиса, и автодополнение, и инструменты для сборки, выполнения и отладки. Как правило, поддерживается несколько языков программирования.</p>
9
<p>Что касается<strong>редакторов кода</strong>- то это текстовые редакторы с подсветкой и возможностями форматирования. Однако хорошие редакторы могут выполнять код и имеют встроенный отладчик, а лучшие из них взаимодействуют с системами управления версиями.</p>
9
<p>Что касается<strong>редакторов кода</strong>- то это текстовые редакторы с подсветкой и возможностями форматирования. Однако хорошие редакторы могут выполнять код и имеют встроенный отладчик, а лучшие из них взаимодействуют с системами управления версиями.</p>
10
<p>Да, редактор имеет меньшую функциональность, чем IDE, зато он, как правило, легковеснее и быстрее.</p>
10
<p>Да, редактор имеет меньшую функциональность, чем IDE, зато он, как правило, легковеснее и быстрее.</p>
11
<p>После краткого лирического отступления давайте посмотрим, что сегодня доступно для тех, кто программирует на Python.</p>
11
<p>После краткого лирического отступления давайте посмотрим, что сегодня доступно для тех, кто программирует на Python.</p>
12
<h2>Редакторы для Python</h2>
12
<h2>Редакторы для Python</h2>
13
<h3>1. Sublime Text</h3>
13
<h3>1. Sublime Text</h3>
14
<p><a>Sublime Text</a>написан инженером из Google, который мечтал о лучшем текстовом редакторе. Популярный инструмент, доступный на всех платформах и поддерживающий редактирование Python-кода. При этом богатый набор пакетов расширяет возможности редактирования и синтаксиса.</p>
14
<p><a>Sublime Text</a>написан инженером из Google, который мечтал о лучшем текстовом редакторе. Популярный инструмент, доступный на всех платформах и поддерживающий редактирование Python-кода. При этом богатый набор пакетов расширяет возможности редактирования и синтаксиса.</p>
15
<p><strong>Плюсы</strong>- большое комьюнити, хорошая поддержка, простота, быстрая скорость работы.<strong>Минусы</strong>- Sublime Text небесплатен, а установка расширений иногда превращается в тот ещё квест. Отладка и запуск кода не поддерживаются.</p>
15
<p><strong>Плюсы</strong>- большое комьюнити, хорошая поддержка, простота, быстрая скорость работы.<strong>Минусы</strong>- Sublime Text небесплатен, а установка расширений иногда превращается в тот ещё квест. Отладка и запуск кода не поддерживаются.</p>
16
<h3>2. Atom</h3>
16
<h3>2. Atom</h3>
17
<p>Этот доступный на всех платформах<a>редактор</a>написан с помощью фреймворка Electron и средствами HTML, CSS и JavaScript. Он имеет множество расширений, включая поддержку Python, устанавливаемую прямо в Atom.</p>
17
<p>Этот доступный на всех платформах<a>редактор</a>написан с помощью фреймворка Electron и средствами HTML, CSS и JavaScript. Он имеет множество расширений, включая поддержку Python, устанавливаемую прямо в Atom.</p>
18
<p><strong>Плюсы</strong>- быстро и легко скачивается, без проблем загружается, доступен на всех платформах.<strong>Минусы</strong>- функции сборки и отладки добавляются посредством расширений. Так как Atom написан с использованием Electron, он работает не как нативное приложение, а как JavaScript-процесс.</p>
18
<p><strong>Плюсы</strong>- быстро и легко скачивается, без проблем загружается, доступен на всех платформах.<strong>Минусы</strong>- функции сборки и отладки добавляются посредством расширений. Так как Atom написан с использованием Electron, он работает не как нативное приложение, а как JavaScript-процесс.</p>
19
<h2>3. GNU Emacs</h2>
19
<h2>3. GNU Emacs</h2>
20
<p><a>GNU Emacs</a>имеет множество поклонников и существует почти так же долго, как и UNIX.</p>
20
<p><a>GNU Emacs</a>имеет множество поклонников и существует почти так же долго, как и UNIX.</p>
21
<p>В той или иной форме доступен бесплатно на каждой платформе. Для кастомизации использует язык Lisp. Само собой разумеется, скрипты кастомизации найдутся и для Python.</p>
21
<p>В той или иной форме доступен бесплатно на каждой платформе. Для кастомизации использует язык Lisp. Само собой разумеется, скрипты кастомизации найдутся и для Python.</p>
22
<p><strong>Плюсы</strong>- очевидны для тех, кто знаком с Emacs, использует Emacs и любит Emacs. А также для тех, для кого Lisp - второй язык, и с ним вы способны почти на всё.<strong>Минусы</strong>- процесс кастомизации подразумевает написание Lisp-кода в разные скрипты. Если скопипастить нечего, то придётся изучать Lisp.</p>
22
<p><strong>Плюсы</strong>- очевидны для тех, кто знаком с Emacs, использует Emacs и любит Emacs. А также для тех, для кого Lisp - второй язык, и с ним вы способны почти на всё.<strong>Минусы</strong>- процесс кастомизации подразумевает написание Lisp-кода в разные скрипты. Если скопипастить нечего, то придётся изучать Lisp.</p>
23
<h3>4. Vi/Vim</h3>
23
<h3>4. Vi/Vim</h3>
24
<p><a>VI и VIM</a>- это модальные редакторы, отделяющие просмотр файла от его редактирования. По умолчанию доступны на почти каждой UNIX-системе. В VIM есть всё, что и в VI, но добавлен ряд усовершенствований, например, доступны расширения. Для решения Python-задач используют<strong>VIMScripts</strong>.</p>
24
<p><a>VI и VIM</a>- это модальные редакторы, отделяющие просмотр файла от его редактирования. По умолчанию доступны на почти каждой UNIX-системе. В VIM есть всё, что и в VI, но добавлен ряд усовершенствований, например, доступны расширения. Для решения Python-задач используют<strong>VIMScripts</strong>.</p>
25
<p><strong>Плюсы</strong>- очевидны для тех, кто знаком с VI, не боится VIMScripts и хорошо знает, как их подчинить своей воле.<strong>Минусы</strong>- по сути, такие же, как и в случае с Emacs: если вы не умеете писать скрипты или не хотите их искать, а также не в курсе, как работает модальный редактор, то VI не для вас.</p>
25
<p><strong>Плюсы</strong>- очевидны для тех, кто знаком с VI, не боится VIMScripts и хорошо знает, как их подчинить своей воле.<strong>Минусы</strong>- по сути, такие же, как и в случае с Emacs: если вы не умеете писать скрипты или не хотите их искать, а также не в курсе, как работает модальный редактор, то VI не для вас.</p>
26
<h3>5. Visual Studio Code</h3>
26
<h3>5. Visual Studio Code</h3>
27
<p><a>Visual Studio Code</a>не стоит путать с Visual Studio, так как это полнофункциональный редактор, который доступен на Linux, Windows и Mac OS X. А ещё это расширяемый open-sourcе-инструмент, настраиваемый под любую задачу. Построен, как и Atom, на Electron и имеет, соответственно, те же плюсы и минусы.</p>
27
<p><a>Visual Studio Code</a>не стоит путать с Visual Studio, так как это полнофункциональный редактор, который доступен на Linux, Windows и Mac OS X. А ещё это расширяемый open-sourcе-инструмент, настраиваемый под любую задачу. Построен, как и Atom, на Electron и имеет, соответственно, те же плюсы и минусы.</p>
28
<p>Чтобы добавить поддержку Python, выполните поиск по запросу "Python" в Marketplace. Далее нужно нажать "Install" и сделать перезапуск, если потребуется. VS Code определит установленные библиотеки и интерпретатор Python автоматически.</p>
28
<p>Чтобы добавить поддержку Python, выполните поиск по запросу "Python" в Marketplace. Далее нужно нажать "Install" и сделать перезапуск, если потребуется. VS Code определит установленные библиотеки и интерпретатор Python автоматически.</p>
29
<p><strong>Плюсы</strong>- доступность на всех платформах, большая функциональность, исходники есть в открытом доступе.<strong>Минусы</strong>- работает не как нативное приложение, а как JavaScript-процесс. Кроме того, есть люди, которым пользоваться продуктами Microsoft не позволяет религия.</p>
29
<p><strong>Плюсы</strong>- доступность на всех платформах, большая функциональность, исходники есть в открытом доступе.<strong>Минусы</strong>- работает не как нативное приложение, а как JavaScript-процесс. Кроме того, есть люди, которым пользоваться продуктами Microsoft не позволяет религия.</p>
30
<h2>IDE, поддерживающие Python</h2>
30
<h2>IDE, поддерживающие Python</h2>
31
<h3>1. Eclipse + PyDev</h3>
31
<h3>1. Eclipse + PyDev</h3>
32
<p>Вряд ли вы не слышали про<a>Eclipse</a>. Это open-source IDE, предназначенная для разработки на Java. Среда доступна на Linux, Windows и OS X.</p>
32
<p>Вряд ли вы не слышали про<a>Eclipse</a>. Это open-source IDE, предназначенная для разработки на Java. Среда доступна на Linux, Windows и OS X.</p>
33
<p>Если нужна интерактивная консоль Python, используют расширение<a>PyDev</a>. Оно устанавливается очень просто: - запускаем Eclipse; - выбираем Help → Eclipse Marketplace; - находим PyDev; - нажимаем кнопку "Install".</p>
33
<p>Если нужна интерактивная консоль Python, используют расширение<a>PyDev</a>. Оно устанавливается очень просто: - запускаем Eclipse; - выбираем Help → Eclipse Marketplace; - находим PyDev; - нажимаем кнопку "Install".</p>
34
<p><strong>Плюсы</strong>- возможность отладки и автодополнения кода, лёгкая установка. Если вы опытный пользователь среды разработки Eclipse - это ваш выбор.<strong>Минусы</strong>- для полноценного использования нужен опыт. Если вы новичок в Python, эта среда разработки может показаться достаточно сложной.</p>
34
<p><strong>Плюсы</strong>- возможность отладки и автодополнения кода, лёгкая установка. Если вы опытный пользователь среды разработки Eclipse - это ваш выбор.<strong>Минусы</strong>- для полноценного использования нужен опыт. Если вы новичок в Python, эта среда разработки может показаться достаточно сложной.</p>
35
<h3>2. Visual Studio</h3>
35
<h3>2. Visual Studio</h3>
36
<p><a>Полнофункциональная IDE</a>от Microsoft, во многом сопоставимая с Eclipse. Доступна на Windows и Mac OS, есть и в бесплатном, и в платном вариантах, имеет свой набор расширений. Одно из них - это<strong>Python-расширение</strong>под названием Python Tools for Visual Studio. Позволяет писать на Python и включает в себя отладку, автодополнение (IntelliSense), другие инструменты.</p>
36
<p><a>Полнофункциональная IDE</a>от Microsoft, во многом сопоставимая с Eclipse. Доступна на Windows и Mac OS, есть и в бесплатном, и в платном вариантах, имеет свой набор расширений. Одно из них - это<strong>Python-расширение</strong>под названием Python Tools for Visual Studio. Позволяет писать на Python и включает в себя отладку, автодополнение (IntelliSense), другие инструменты.</p>
37
<p><strong>Плюсы</strong>- лёгкая установка PTVS, прекрасный выбор, если вы знакомы с Visual Studio.<strong>Минусы</strong>- для одного лишь Python среды разработки Visual Studio как-то многовато. Кроме того, нет версии для Linux.</p>
37
<p><strong>Плюсы</strong>- лёгкая установка PTVS, прекрасный выбор, если вы знакомы с Visual Studio.<strong>Минусы</strong>- для одного лишь Python среды разработки Visual Studio как-то многовато. Кроме того, нет версии для Linux.</p>
38
<h2>IDE, разработанные специально для Python</h2>
38
<h2>IDE, разработанные специально для Python</h2>
39
<h3>1. PyCharm</h3>
39
<h3>1. PyCharm</h3>
40
<p><a>Одна из лучших</a>полнофункциональных сред разработки, сделанных конкретно для Python. Есть и бесплатный, и платный варианты. IDE доступна на Windows, Mac OS X, Linux.</p>
40
<p><a>Одна из лучших</a>полнофункциональных сред разработки, сделанных конкретно для Python. Есть и бесплатный, и платный варианты. IDE доступна на Windows, Mac OS X, Linux.</p>
41
<p><strong>PyCharm</strong>поддерживает Python-разработку напрямую - достаточно открыть новый файл и начать писать код. Есть возможность запускать и отлаживать код из PyCharm, присутствует поддержка системы управления версиями.</p>
41
<p><strong>PyCharm</strong>поддерживает Python-разработку напрямую - достаточно открыть новый файл и начать писать код. Есть возможность запускать и отлаживать код из PyCharm, присутствует поддержка системы управления версиями.</p>
42
<p><strong>Плюсы</strong>- большое комьюнити, поддержка всего и вся, работа "из коробки", запуск, редактирование, отладка.<strong>Минусы</strong>- PyCharm может загружаться довольно медленно, а настройки по умолчанию обычно требуют корректировки.</p>
42
<p><strong>Плюсы</strong>- большое комьюнити, поддержка всего и вся, работа "из коробки", запуск, редактирование, отладка.<strong>Минусы</strong>- PyCharm может загружаться довольно медленно, а настройки по умолчанию обычно требуют корректировки.</p>
43
<h3>2. Spyder</h3>
43
<h3>2. Spyder</h3>
44
<p><a>Open-source среда разработки</a>для Python, оптимизированная под data science. Поставляется в наборе с менеджером пакетов Anaconda.</p>
44
<p><a>Open-source среда разработки</a>для Python, оптимизированная под data science. Поставляется в наборе с менеджером пакетов Anaconda.</p>
45
<p>Основная целевая аудитория - data scientist’ы, использующие Python. Например, Spyder прекрасно работает с такими библиотеками, как SciPy, Matplotlib и NumPy.</p>
45
<p>Основная целевая аудитория - data scientist’ы, использующие Python. Например, Spyder прекрасно работает с такими библиотеками, как SciPy, Matplotlib и NumPy.</p>
46
<p>А ещё инструмент обладает широкой функциональностью, которая присуща всем стандартным средам разработки: редактирование, подсветка синтаксиса, автодополнение кода и даже встроенный обозреватель документации.</p>
46
<p>А ещё инструмент обладает широкой функциональностью, которая присуща всем стандартным средам разработки: редактирование, подсветка синтаксиса, автодополнение кода и даже встроенный обозреватель документации.</p>
47
<p><strong>Отличительная особенность</strong>- наличие проводника переменных. С его помощью можно увидеть значения переменных в виде таблицы непосредственно внутри IDE. Кроме того, прекрасно работает интеграция с IPython/Jupyter.</p>
47
<p><strong>Отличительная особенность</strong>- наличие проводника переменных. С его помощью можно увидеть значения переменных в виде таблицы непосредственно внутри IDE. Кроме того, прекрасно работает интеграция с IPython/Jupyter.</p>
48
<p>Про Spyder говорят, что это инструмент более "приземлённый", если сравнивать с другими IDE. Однако Spyder чаще рассматривают в качестве средства решения определённой задачи, а не в качестве основной среды разработки.</p>
48
<p>Про Spyder говорят, что это инструмент более "приземлённый", если сравнивать с другими IDE. Однако Spyder чаще рассматривают в качестве средства решения определённой задачи, а не в качестве основной среды разработки.</p>
49
<p><strong>Плюсы</strong>- бесплатность, доступность на Windows, Linux, macOS. Если вы data scientist, использующий Anaconda, - это ваш выбор.<strong>Минусы</strong>- недостаточная функциональность для повседневной работы с точки зрения более опытных разработчиков.</p>
49
<p><strong>Плюсы</strong>- бесплатность, доступность на Windows, Linux, macOS. Если вы data scientist, использующий Anaconda, - это ваш выбор.<strong>Минусы</strong>- недостаточная функциональность для повседневной работы с точки зрения более опытных разработчиков.</p>
50
<h3>3. Thonny</h3>
50
<h3>3. Thonny</h3>
51
<p><a>Среда разработки</a>для новичков. Написана и поддерживается Институтом информатики Тартуского университета (Эстония). Доступна на всех основных платформах.</p>
51
<p><a>Среда разработки</a>для новичков. Написана и поддерживается Институтом информатики Тартуского университета (Эстония). Доступна на всех основных платформах.</p>
52
<p>Tonny устанавливается с версией Python, которая идёт в комплекте, а значит, что-нибудь ещё устанавливать не потребуется. Но если вы продвинутый пользователь, можете эту настройку изменить, чтобы IDE нашла уже установленные библиотеки.</p>
52
<p>Tonny устанавливается с версией Python, которая идёт в комплекте, а значит, что-нибудь ещё устанавливать не потребуется. Но если вы продвинутый пользователь, можете эту настройку изменить, чтобы IDE нашла уже установленные библиотеки.</p>
53
<p><strong>Плюсы</strong>- очевидны для начинающих Python-программистов, которые рвутся в бой и подбирают IDE.<strong>Минусы</strong>- недостаточно функциональности для продвинутых пользователей. Так как IDE достаточно новая, могут возникнуть проблемы, а ответы на вопросы вы вряд ли найдёте в сети.</p>
53
<p><strong>Плюсы</strong>- очевидны для начинающих Python-программистов, которые рвутся в бой и подбирают IDE.<strong>Минусы</strong>- недостаточно функциональности для продвинутых пользователей. Так как IDE достаточно новая, могут возникнуть проблемы, а ответы на вопросы вы вряд ли найдёте в сети.</p>
54
<h2>Что же выбрать?</h2>
54
<h2>Что же выбрать?</h2>
55
<p>Решение, разумеется, за вами, но пару рекомендаций мы всё же дадим: 1. Вы начинающий питонист? Берите среду разработки с наименьшими возможностями кастомизации по принципу "Меньше препятствий - меньше проблем". 2. Вы уже использовали редакторы для решения каких-либо задач? Выбирайте редактор, вам будет проще. 3. У вас установлена IDE для другого языка? Просто добавьте в неё Python!</p>
55
<p>Решение, разумеется, за вами, но пару рекомендаций мы всё же дадим: 1. Вы начинающий питонист? Берите среду разработки с наименьшими возможностями кастомизации по принципу "Меньше препятствий - меньше проблем". 2. Вы уже использовали редакторы для решения каких-либо задач? Выбирайте редактор, вам будет проще. 3. У вас установлена IDE для другого языка? Просто добавьте в неё Python!</p>
56
<p><em>Материал написан специально для OTUS на основании статьи "<a>Python IDEs and Code Editors (Guide)</a>".</em></p>
56
<p><em>Материал написан специально для OTUS на основании статьи "<a>Python IDEs and Code Editors (Guide)</a>".</em></p>
57
57