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

newbie

Опубликован:  2018-10-05T06:39:32.127446Z
Отредактирован:  2018-10-05T09:39:05.748027Z

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

Python3 - современный, интерпретируемый, объектно-ориентированный, универсальный язык программирования с открытым исходным кодом. Он достаточно популярен, не зависит от платформы и может использоваться с операционными системами MS Windows, macOS, Linux. Ниже речь пойдёт о среде разработки и пакетной базе, которую предоставляет Debian stretch.

В Debian stretch Python3 установлен уже из коробки даже в самом минимальном наборе. Текущую версию установленного интерпретатора можно посмотреть с помощью терминала.

1NTGZkiJbY.png

Пакетный менеджер данной системы сообщает следующую информацию об установленных пакетах.

newbie@stretch:~$ dpkg -l | grep python3.5
ii  libpython3.5-minimal:amd64           3.5.3-1                           amd64        Minimal subset of the Python language (version 3.5)
ii  libpython3.5-stdlib:amd64            3.5.3-1                           amd64        Interactive high-level object-oriented language (standard library, version 3.5)
ii  python3.5                            3.5.3-1                           amd64        Interactive high-level object-oriented language (version 3.5)
ii  python3.5-minimal                    3.5.3-1                           amd64        Minimal subset of the Python language (version 3.5)

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

newbie@stretch:~$ sudo apt-cache search python3

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

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

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

Установить эти пакеты можно следующей командой.

newbie@stretch:~$ sudo apt-get install python3-dev python3-venv python3-pip gcc

Пакеты Python3 в официальном репозитории Debian stretch именуются следующим образом: python3-имя, где имя - имя пакета. Например пакет mutagen для Python3 хранится как python3-mutagen и может быть найден пакетным менеджером по имени.

newbie@stretch:~$ sudo apt-cache search mutagen

dC5QKQdfdR.png

Когда имя пакета известно, его можно установить.

newbie@stretch:~$ sudo apt-get install python3-mutagen
Чтение списков пакетов… Готово
Построение дерева зависимостей       
Чтение информации о состоянии… Готово
Предлагаемые пакеты:
  python-mutagen-doc
НОВЫЕ пакеты, которые будут установлены:
  python3-mutagen
обновлено 0, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 0 B/128 kB архивов.
После данной операции, объём занятого дискового пространства возрастёт на 647 kB.
Выбор ранее не выбранного пакета python3-mutagen.
(Чтение базы данных … на данный момент установлено 151940 файлов и каталогов.)
Подготовка к распаковке …/python3-mutagen_1.36-1_all.deb …
Распаковывается python3-mutagen (1.36-1) …
Настраивается пакет python3-mutagen (1.36-1) …

И сразу после установки с пакетом можно работать.

KVHQMmKMh4.png

Если необходимого пакета нет в официальном репозитории, или версия имеющегося не удовлетворяет требованиям задачи, можно установить пакет из PyPI при помощи pip. Если установка производится в систему, то pip должен быть запущен с правами суперпользователя.

newbie@stretch:~$ sudo pip3 install cchardet

7nMCbuVe7O.png

Важное замечание: здесь pip3 означает, что используется библиотека Python3, команда будет доступна, только если установлен пакет python3-pip.

В этом случае тоже сразу после установки пакет можно использовать.

3oSa3yF9Ls.png

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

newbie@stretch:~$ python3 -m venv venv

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

wqQ6Ypo05w.png

Активируется виртуальное окружение командой source.

ET39lqIVyB.png

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

W0LxEbopPC.png

Важное замечание: перед установкой пакетов во вновь созданное виртуальное окружение, следует обновить wheel.

(venv) sadmin@debian:~$ pip install --upgrade wheel

blWAqWqCbR.png

Теперь, если я установлю mutagen в это виртуальное окружение, его версия будет отличаться от версии mutagen установленной в основной системе.

loiEJgkoqS.png

Проверим.

wzseyf9Fkv.png

Когда работа с виртуальным окружением закончена, его следует деактивировать командой deactivate.

Tvc3yX1eRM.png

При деактивации виртуального окружения приглашение командной строки снова приходит в норму.

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

  • официальный репозиторий Debian stretch;
  • централизованное хранилище PyPI.

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

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