Как значительно улучшить свой опыт взаимодействия с Python? Как повысить удобство ежедневного программирования? Стандартная оболочка — это хорошо, но есть четыре альтернативы, которые добавляют все недостающие функции. Например, в стандартной интерактивной оболочке Python нет цветов, нет автозавершения, нет истории блоков. Поверьте, есть варианты получше. Об этом подробно в нашей новой статье-гиде.
Этот пост — вольный перевод на русский вот этой оригинальной статьи (с нашими дополнениями в местах, где это показалось нужным), которую написал Мартин Тома.
Одним из основных преимуществ Python по сравнению со многими другими языками является то, что он поставляется с интерактивной оболочкой.
Это особенно полезно для исследовательских задач, например, для анализа данных или отладки. Стандартная оболочка — это хорошо, но есть четыре альтернативы, которые предлагают недостающие возможности. Начинаем наш обзор!
Rich — это библиотека Python для создания насыщенного текста и красивого форматирования в терминале. Ее можно установить с помощью pip install rich
.
Вместо того, чтобы использовать другую оболочку, можно заставить свою привычную оболочку выполнить эти две магические строки:
from rich import pretty, inspect, traceback as tb pretty.install(); tb.install(show_locals=False)
Как только вы это сделаете, то будете вознаграждены цветным выводом.
IPython — это интерактивная оболочка Python Shell, известная большинству по блокнотам Jupyter. Его можно установить с помощью pip install ipython
. Вы запускаете его через консоль с помощью команды ipython.
Вы сразу заметите, что подсказка изменилась с >>>
на In [1]
. Конечно, его можно настроить. IPython предоставляет автозавершение, вызываемое символом Tab
, и цветные ошибки:
IPython имеет несколько преимуществ по сравнению с традиционной консолью:
clear
, чтобы получить чистое окно.Также можно настроить Django на использование оболочки IPython. А еще можно установить rich
внутри оболочки IPython, чтобы получить цветной вывод.
bpython — это интерактивная оболочка с множеством функций автозавершения. Ее можно установить с помощью pip install bpython
и запустить с помощью bpython.
Еще лучше то, что эта помощь подстраивается под размер вашего терминала:
Лучше всего это видно в действии:
Подводя итог, можно сказать, что bpython имеет одно основное преимущество по сравнению с оболочкой по умолчанию и IPython: автозавершение / текст справки. Для многих это просто убийственная по важности функция. У bpython также есть возможности настройки, и его можно использовать с Django.
Однако есть и недостатки:
curses
. Это в принципе возможно, но bpython официально не поддерживается.
По набору поддерживаемых функций он похож на bpython, но ptpython использует другую цветовую тему. В отличие от bpython, он поддерживает историю блоков.
Мне не нравится цветовая тема, но ее можно изменить, нажав F2. К сожалению, не все работает так, как ожидалось. Предлагается тема solarized dark, но она не похожа на классический solarized dark 😢.
Можно импортировать rich
в любой интерактивной оболочке. По этой причине я не включил его в следующее резюме.
Мне лично больше всего нравится bpython, но отсутствие истории блоков (смотрите проблему #22) является для меня препятствием. ptpython — следующий вариант, но я ненавижу его скин-тему. Поэтому я довольно часто использую IPython.
Сегодня мы поговорим о том, как выбрать лучшие курсы Power BI в Украине, особенно для…
В 2023 году во всех крупнейших регионах конкуренция за вакансию выросла на 5–12%. Не исключением…
Unicorn Hunter/Talent Manager Лина Калиш создала бесплатный трекер поиска работы в Notion, систематизирующий все этапы…
Edtech-стартап Mate academy принял решение отправить своих работников в десятидневный отпуск – с 25 декабря…
Служба безопасности Украины задержала в Киеве 46-летнего программиста, который за деньги устанавливал шпионские программы и…
IT-специалист Джордан Катлер создал и выложил на Github подборку разнообразных ресурсов, которые помогут достичь уровня…