Python3, установка и подготовка к разработке на пакетной базе Debian bullseye

webmaster

Опубликован:  2021-04-19T09:13:42.897615Z
Отредактирован:  2021-05-07T09:58:02.820977Z
3
0
0
Вы неавторизованы, рекомендую зарегистрироваться и авторизоваться.

Debian - операционная система для разработчиков и программистов. И хоть на десктопах с Debian вполне нормально уживаются и элементарные хомячковые задачи: общение в Интернет, обмен файлами, воспроизведение аудио-видео, компьютерные игры и прочее не целевое использование вычислительных мощностей, о хомячковых задачах скучно и неинтересно говорить, ещё более скучно писать о них блог. С этого обзора я запускаю цикл статей, которые будут посвящены программированию и разработке, и в том числе web-разработке, но главным героем блога всё так же останется операционная система Debian.

На пакетной базе Debian bullseye доступна разработка, отладка и тестирование программ на многих современных языках программирования. Последнее время очень популярным заслуженно стал язык программирования Python3 - не требующая трудоёмкой компиляции и сборки разрабатываемой программы абстракция высокого уровня с весьма обширной стандартной библиотекой и интересными возможностями интерактивной отладки. В этом обзоре рассмотрим установку на рабочую станцию необходимого Python3-программисту специфического программного обеспечения.

1. Важная информация для постоянных читателей

Уважаемый читатель, списки auriz.ru не имеет спонсоров и финансирования, и чтобы выжить мы можем рассчитывать только на поддержку своих постоянных читателей и их пожертвования. Если вам оказалась полезна эта или другая статья этого сайта, и вы хотите больше интересных материалов на auriz.ru, поддержите нас рублём, ваша поддержка даст нам шанс выжить, оплатить продление домена и VDS, написать и опубликовать для вас другие интересные материалы.

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

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

2. Установка Python3

В Debian bullseye интерпретатор Python3 установлен уже из коробки даже в самом минимальном наборе, предусмотренном стандартной программой установки из состава распространяемых сообществом дистрибутивных образов.

J5axvKIexr.png

Даже если в программе установки Debian на стадии выбора программного обеспечения снять все флаги, оставив только "Стандартные системные утилиты", всё равно интерпретатор Python3 будет доступен уже при первой загрузке операционной системы.

k6t6IrR3CG.png

Некоторые продвинутые пользователи предпочитают устанавливать Debian нестандартным способом, с целью получить полный и всеобъемлющий контроль над установкой, но и в этом случае уже сразу после установки графического окружения рабочего стола интерпретатор окажется в составе системы, поскольку требуется в качестве зависимости очень многим современным программам.

agWe3G4P6z.png

Можно смело утверждать, что в Debian Python3 стал системным диалектом. На текущий момент, а прямо сейчас Debian bullsey всё ещё является тестовой веткой развития, в системе доступен Питон версии 3.9.2.

lBR1taVHuN.png

Посмотреть все установленные в системе пакеты Python3 можно с помощью программы dpkg.

dpkg -l | grep python3.9 | cut -c4-41 | sed -e's/:amd64//'

bMJZS1vLAk.png

Таково состояние моей системы после полной настройки LXDE, и для полноценной разработки на Python3 этого будет, увы, недостаточно. В пакетной базе Debian bullseye существует весьма обширный набор пакетов Python3, полный список можно посмотреть такой командой:

sudo apt search python3

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

  • python3-venv - позволяет создавать обособленные автономные виртуальные окружения;
  • python3-dev - содержит заголовочные файлы и статичную библиотеку Python3, понадобится, когда необходимо установить в виртуальное окружение сторонние пакеты, требующие компиляции кода;
  • python3-pip - установщик пакетов Python3, с его помощью можно установить сторонний пакет из PyPI, которого нет в официальном хранилище Debian bullseye.

Поскольку некоторые модули Питона, а такие обязательно будут устанавливаться в виртуальные окружения в процессе разработки, требуют компиляции, следует установить ещё и пакет build-essential - этот пакет подтягивает по зависимостям всё необходимое для компиляции написанного на языках программирования C и C++ кода. Установить перечисленные пакеты можно одной командой.

sudo apt install python3-dev python3-venv python3-pip build-essential

UTJYhr0Cqh.png

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

3. Установка модулей Python3

Python3 на сегодняшний день имеет пожалуй самое обширное сообщество, которое генерирует тонны полезного кода для разных прикладных задач. Распространяется всё это великолепие при помощи специализированного каталога PyPI. Очень много наиболее часто используемых и наиболее популярных модулей с PyPI существует в пакетной базе Debian bullseye в виде готовых к установке и протестированных маинтейнерами сообщества пакетов. Эти пакеты имеют имя, начинающееся префиксом python3. Например, пакет mutagen для Python3 хранится в репе как python3-mutagen, и его без труда можно обнаружить пакетным менеджером по имени.

sudo apt search mutagen

lADfdOTlpR.png

Если имя пакета известно, не составит никакого труда установить его в систему.

sudo apt install python3-mutagen

hjSaZbIiaI.png

Сразу по завершении установки этот модуль будет доступен интерпретатору.

ZVQeTFxoIH.png

Если необходимого модуля Python3 нет в официальном хранилище Debian bullseye, или версия имеющегося модуля не удовлетворяет требованиям задачи, можно установить пакет из PyPI прямо в систему при помощи pip, в этом случае pip придётся запустить с правами суперпользователя. Например, давайте установим в систему модуль cchardet, которого нет на официальном зеркале Debian bullseye.

sudo pip3 install cchardet

2l1UZFO9UF.png

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

В этом случае установленный модуль готов к использованию сразу по завершении процесса установки.

RGfvOjDPdr.png

4. Создание виртуальных окружений

Отдельно следует остановиться на создании виртуальных окружений. Виртуальное окружение - это изолированное от основной системы Python3-окружение, которое имеет собственный обособленный и независимый от основной системы набор пакетов. Виртуальные окружения наиболее часто используются при разработке web-приложений. Виртуальное окружение очень просто создаётся при помощи соответствующей команды.

python3 -m venv venv

Здесь venv после ключа -m - это имя исполняемого модуля, а venv в конце команды - имя создаваемого виртуального окружения, и оно может быть любым.

r0e10y1Wb7.png

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

source venv/bin/activate

zFddkxmux4.png

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

kdlpQYLBIy.png

Перед активным использованием созданного окружения желательно обновить его ключевой компонент - wheel.

pip install --upgrade wheel

FNSsSeK2yD.png

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

pip install mutagen

rxjw5l7pnP.png

Как видно выше, в индексе PyPI на текущий момент хранится mutagen той же версии, что и в официальной репе Debian bullseye - это особенность тестовой ветки, тем не менее индекс PyPI очень скоро уйдёт вперёд, а хранилище дистрибутива будет заморожено, и поэтому будет отставать по версиям... такова селяви. Сразу после установки в виртуальное окружение установленным модулем можно воспользоваться.

09EvZYHySi.png

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

deactivate

Eo7tyqceDR.png

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

KiK6lIH4xR.png

5. Выводы и умозаключения

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

  • официальное зеркало Debian bullseye;
  • централизованное хранилище кода сообщества Python - PyPI.

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

Комментарии: