Как значительно улучшить свой опыт взаимодействия с Python? Как повысить удобство ежедневного программирования? Стандартная оболочка — это хорошо, но есть четыре альтернативы, которые добавляют все недостающие функции. Например, в стандартной интерактивной оболочке Python нет цветов, нет автозавершения, нет истории блоков. Поверьте, есть варианты получше. Об этом подробно в нашей новой статье-гиде.
Этот пост — вольный перевод на русский вот этой оригинальной статьи (с нашими дополнениями в местах, где это показалось нужным), которую написал Мартин Тома.
Одним из основных преимуществ Python по сравнению со многими другими языками является то, что он поставляется с интерактивной оболочкой.
Это особенно полезно для исследовательских задач, например, для анализа данных или отладки. Стандартная оболочка — это хорошо, но есть четыре альтернативы, которые предлагают недостающие возможности. Начинаем наш обзор!
Rich — это библиотека Python для создания насыщенного текста и красивого форматирования в терминале. Ее можно установить с помощью pip install rich
.
Rich окрашивает вывод, но не ввод.
Вместо того, чтобы использовать другую оболочку, можно заставить свою привычную оболочку выполнить эти две магические строки:
from rich import pretty, inspect, traceback as tb pretty.install(); tb.install(show_locals=False)
Как только вы это сделаете, то будете вознаграждены цветным выводом.
IPython — это интерактивная оболочка Python Shell, известная большинству по блокнотам Jupyter. Его можно установить с помощью pip install ipython
. Вы запускаете его через консоль с помощью команды ipython.
IPython автоматически окрашивает входные данные, но не выходные. У него есть блок-история, как видно в конце.
Вы сразу заметите, что подсказка изменилась с >>>
на In [1]
. Конечно, его можно настроить. IPython предоставляет автозавершение, вызываемое символом Tab
, и цветные ошибки:
IPython имеет несколько преимуществ по сравнению с традиционной консолью:
clear
, чтобы получить чистое окно.Также можно настроить Django на использование оболочки IPython. А еще можно установить rich
внутри оболочки IPython, чтобы получить цветной вывод.
bpython — это интерактивная оболочка с множеством функций автозавершения. Ее можно установить с помощью pip install bpython
и запустить с помощью bpython.
Еще лучше то, что эта помощь подстраивается под размер вашего терминала:
Лучше всего это видно в действии:
Изображение из README bpython
Подводя итог, можно сказать, что bpython имеет одно основное преимущество по сравнению с оболочкой по умолчанию и IPython: автозавершение / текст справки. Для многих это просто убийственная по важности функция. У bpython также есть возможности настройки, и его можно использовать с Django.
Однако есть и недостатки:
curses
. Это в принципе возможно, но bpython официально не поддерживается.
По набору поддерживаемых функций он похож на bpython, но ptpython использует другую цветовую тему. В отличие от bpython, он поддерживает историю блоков.
В ptpython, кажется, есть все: цветной ввод и вывод, форматирование сообщений об ошибках, история блоков, помощь по параметрам функций.
Мне не нравится цветовая тема, но ее можно изменить, нажав F2. К сожалению, не все работает так, как ожидалось. Предлагается тема solarized dark, но она не похожа на классический solarized dark 😢.
Можно импортировать rich
в любой интерактивной оболочке. По этой причине я не включил его в следующее резюме.
Мне лично больше всего нравится bpython, но отсутствие истории блоков (смотрите проблему #22) является для меня препятствием. ptpython — следующий вариант, но я ненавижу его скин-тему. Поэтому я довольно часто использую IPython.
Прокси (proxy), или прокси-сервер — это программа-посредник, которая обеспечивает соединение между пользователем и интернет-ресурсом. Принцип…
Согласитесь, было бы неплохо соединить в одно сайт и приложение для смартфона. Если вы еще…
Повсеместное распространение смартфонов привело к огромному спросу на мобильные игры и приложения. Миллиарды пользователей гаджетов…
В перечне популярных чат-ботов с искусственным интеллектом Google Bard (Gemini) еще не пользуется такой популярностью…
Скрипт (англ. — сценарий), — это небольшая программа, как правило, для веб-интерфейса, выполняющая определенную задачу.…
Дедлайн (от англ. deadline — «крайний срок») — это конечная дата стачи проекта или задачи…