Как установить Python и pip на Ubuntu

Пайтон — популярный язык программирования, который в большинстве дистрибутивов Linux установлен по умолчанию. У него есть несколько версий, которые имеют сильные различия между собой. Так что я расскажу, как установить различные версии Python и пакетного менеджера pip к нему в Ubuntu.

Проверка версии Python

По умолчанию минимальная установка Ubuntu уже включает в себя пакет Python. Посмотреть его версию можно с помощью пакетного менеджера.

sudo dpkg -l | grep python

Узнать версию python

Так же, если пакет установлен, то узнать версию Python можно через него самого.

sudo python3 -V
Python 3.8.5

В данном случае в ubuntu установлена версия 3.8.5. Обычно 3-я версия пайтона в системе именуется python3, а вторая просто python.

Кстати, а вы знаете, чем Ubuntu Server принципиально отличается от других Linux систем? Читайте мой обзор и сравнение — обзор ubuntu server и сравнение.

Установка Python

Может так быть, что в системе вообще не установлен python. Например, у каких-то провайдеров в их собственных кастомных образах. Они могут вырезать из них вообще все, что по их мнению там лишнее, чтобы уменьшить размер дистрибутива. В таком случае, установить python в ubuntu вам придется самостоятельно.

Рассмотрим сначала момент с установкой самой последней версии python. Сделать это проще всего с помощью пакетного менеджера apt:

sudo apt install python3

Установка Python в Ubuntu

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

Установка из исходников

Если вам нужно что-то совсем свежее, то можно скомпилировать и установить python из исходников. Для этого идем на сайт python.org и переходим в раздел Downloads. Находим там самую свежую версию, скачиваем исходники и распаковываем.

Установка python из исходников

wget https://www.python.org/ftp/python/3.9.1/Python-3.9.1.tgz
tar -zxvf Python-3.9.1.tgz

Для установки python из исходников, нам понадобятся дополнительные системные пакеты. Устанавливаем их:

sudo apt install build-essential tk-dev libncurses5-dev libncursesw5-dev libreadline6-dev libdb5.3-dev libgdbm-dev libsqlite3-dev libssl-dev libbz2-dev libexpat1-dev liblzma-dev zlib1g-dev libffi-dev

Теперь можно приступить к сборке:

cd Python-3.9.1
./configure
make -j 4
sudo make altinstall

Проверяем установленную из исходников версию:

python3.9 -V
Python 3.9.1

Проверка версии

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

Установка pip в Ubuntu

Вместе с python обычно используется пакетный менеджер для него. Давайте рассмотрим, как выглядит установка pip в Ubuntu. В зависимости от версии пайтона, устанавливается подходящая версия pip. Тут так же как и с самим интерпретатором версия пакета будет зависеть от версии самого языка. Если он 2-й версии, то ставится просто pip, если 3-й, то pip3.

sudo apt install python3-pip

Установка pip в Ubuntu

Проверяем установленную версию pip:

pip3 --version
pip 20.0.2 from /usr/lib/python3/dist-packages/pip (python 3.8)

Установленная версия pip соответствует присутствующей в системе версии python 3.8.

Установка пакетов python

Итак, pip мы установили, давайте теперь посмотрим, как с помощью этого пакетного менеджера устанавливать пакеты python. Никаких отличий от других пакетных менеджеров тут нет. Вот пример того, как устанавливается пакет pymysql для работы с базами данных mysql с помощью пайтона.

pip3 install pymysql

Установка пакетов python

Посмотреть список установленных пакетов можно следующим образом:

pip3 list

А вот так вы можете узнать, какие файлы были установлены в систему, принадлежащие указанному пакету.

pip3 show --files pymysql

Удалить пакет с помощью pip можно следующим образом:

pip3 uninstall pymysql

Вкратце по работе с pip все. Ничего сложного, все как обычно.

Обновить Python

Рассмотрим теперь тему с обновлением python в ubuntu. Тут может быть несколько вариантов.

  1. Обновить с помощью apt до последней версии, находящейся в репозитории системы.
  2. Использовать для обновления python сторонний репозиторий.
  3. Собрать самую свежую версию из исходников.

Первый и третий варианты мы уже рассмотрели ранее. Обновление python до последней версии ничем не будет отличаться от чистой установки. В случае с пакетным менеджером apt, вам просто вместо install нужно будет указать upgrade.

sudo apt upgrade python3

как обновить python в ubuntu

Если в подключенных репозиториях ubuntu будет свежая версия python, то будет обновление до нее. Если нет, то ничего не произойдет. Останется текущая версия.

Обычное самые свежие версии python есть в отдельном репозитории deadsnakes. Подключим его:

sudo add-apt-repository ppa:deadsnakes/ppa

А теперь попробуем поставить самую последнюю версию python из этого репозитория.

sudo apt install python3.9

Установка python 3.9

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

Выбор по умолчанию

В описанных выше разделах мы установили как минимум 2 разные версии python3 — 3.8.5 и 3.9.1. Давайте теперь разберемся, какая их них будет выбираться по умолчанию.

В ubuntu указать дефолтную версию python, которая будет выбираться по умолчанию, можно с помощью команды update-alternatives. Вот как это выглядит:

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 10

Проверяем теперь дефолтную версию:

python -V
Python 3.8.5

Выбор версии python по умолчанию

Так мы установили в системе по умолчанию версию python 3.8.5. А теперь изменим это на более свежую версию 3.9.1

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.9 5
sudo update-alternatives --config python

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

дефолтная версия питона в убунту

Таким образом, можно добавить сколько угодно версий python в систему и выбирать среди них ту, что будет дефолтной. А к остальным можно обращаться по прямым ссылкам. Например так — /usr/bin/python3.

Как запускать Python скрипты

С установкой и обновлением пайтона разобрались. Давайте теперь посмотрим, как нам запускать скрипты в системе. Ничего особенного для этого делать не надо. Достаточно указать бинарник интерпретатора и сам скрипт. Примерно так выглядит запуск python скрипта в ubuntu:

python script.py

Скрипт будет запущен дефолтной версией пайтона. Если нужно запустить в какой-то конкретной версии, то делается это так:

/usr/bin/python3.9 script.py

Так же скрипты пайтона можно запускать напрямую в консоли. Для этого в самом начале скрипта нужно объявить окружение.

#!/usr/bin/env python

запуск python скрипта в ubuntu

После этого достаточно сделать файл исполняемым и запустить прямо в консоли.

chmod +x script.py
./script.py

выполнение скрипта в консоли

Если вы хотите запускать скрипт как службу, то вам придется добавить юнит в systemd. Делается это следующим образом. Создаем файл /lib/systemd/system/python.service:

[Unit]
Description=Python Service
After=multi-user.target
Conflicts=getty@tty1.service

[Service]
Type=simple
ExecStart=/usr/bin/python /home/user/script.py
StandardInput=tty-force

[Install]
WantedBy=multi-user.target

После этого перечитываем конфигурацию systemd и запускаем скрипт на пайтоне как службу:

sudo systemctl daemon-reload
sudo systemctl enable python.service
sudo systemctl start python.service

запуск скрипта питона как службы

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

Как удалить Python в Ubuntu

Если вам по какой-то причине необходимо удалить python с сервера ubuntu, то сделать это можно штатным образом через пакетный менеджер apt. Для того, чтобы узнать версию пакетов для удаления, можно вывести их список.

sudo dpkg -l | grep python

После этого, подставляя версию нужного пакета, удалить его:

sudo apt remove python3

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

Как удалить python из Ubuntu

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

Запуск Python в Docker

Ну и в завершении статьи про Python в Ubuntu, покажу, как можно еще его запускать без локальной установки непосредственно в саму систему. Вы можете запустить питона в докере. Для этого просто выберите необходимую вам версию Python и запустите Docker контейнер с ней.

docker run -it --rm --name my-running-script -v "$PWD":/usr/src/myapp -w /usr/src/myapp python:3 python script.py

В данном случае я быстро запустил свой скрипт в версии 3, используя контейнер python:3. Если мне то же самое нужно сделать во 2-й версии, то я просто использую другой контейнер.

docker run -it --rm --name my-running-script -v "$PWD":/usr/src/myapp -w /usr/src/myapp python:2 python script.py

Таким образом я могу запускать свой скрипт на любой версии python без необходимости его локальной установки. В приведенном примере контейнер будет автоматически остановлен и удален после выполнения скрипта. За это отвечает параметр —rm, который я указал.