- Как установить Python и pip на Ubuntu
- Проверка версии Python
- Установка Python
- Установка из исходников
- Установка pip в Ubuntu
- Установка пакетов python
- Обновить Python
- Выбор по умолчанию
- Как запускать Python скрипты
- Как удалить Python в Ubuntu
- Запуск Python в Docker
- Как обновить Python в Linux?
- Введение
- Обновление Python
- Обновление Python в Debian Linux (Ubuntu, Raspbian, Mint и другие)
- Обновление Python в Red Hat Linux (CentOS и Fedora Linux)
- Заключение
- Обновление Python в системе Ubuntu
- Home Assistant. Обновление Python
- Исходные данные
- Обновление Python
- Переустановка Home Assistant
- 7 комментария на «Home Assistant. Обновление Python»
Как установить Python и pip на Ubuntu
Пайтон — популярный язык программирования, который в большинстве дистрибутивов Linux установлен по умолчанию. У него есть несколько версий, которые имеют сильные различия между собой. Так что я расскажу, как установить различные версии Python и пакетного менеджера pip к нему в Ubuntu.
Проверка версии Python
По умолчанию минимальная установка Ubuntu уже включает в себя пакет Python. Посмотреть его версию можно с помощью пакетного менеджера.
Так же, если пакет установлен, то узнать версию Python можно через него самого.
В данном случае в ubuntu установлена версия 3.8.5. Обычно 3-я версия пайтона в системе именуется python3, а вторая просто python.
Кстати, а вы знаете, чем Ubuntu Server принципиально отличается от других Linux систем? Читайте мой обзор и сравнение — обзор ubuntu server и сравнение.
Установка Python
Может так быть, что в системе вообще не установлен python. Например, у каких-то провайдеров в их собственных кастомных образах. Они могут вырезать из них вообще все, что по их мнению там лишнее, чтобы уменьшить размер дистрибутива. В таком случае, установить python в ubuntu вам придется самостоятельно.
Рассмотрим сначала момент с установкой самой последней версии python. Сделать это проще всего с помощью пакетного менеджера apt:
Так вы установите самую свежую версию 3-го пайтона, которая присутствует в репозиториях дистрибутива. Чаще всего там будет достаточно свежая версия, так как данный язык программирования и среда исполнения очень распространены.
Установка из исходников
Если вам нужно что-то совсем свежее, то можно скомпилировать и установить python из исходников. Для этого идем на сайт python.org и переходим в раздел Downloads. Находим там самую свежую версию, скачиваем исходники и распаковываем.
Для установки python из исходников, нам понадобятся дополнительные системные пакеты. Устанавливаем их:
Теперь можно приступить к сборке:
Проверяем установленную из исходников версию:
Если у вас уже присутствуют другие версии пайтона в системе, то читайте ниже, как среди них выбрать ту, что будет использоваться по умолчанию.
Установка pip в Ubuntu
Вместе с python обычно используется пакетный менеджер для него. Давайте рассмотрим, как выглядит установка pip в Ubuntu. В зависимости от версии пайтона, устанавливается подходящая версия pip. Тут так же как и с самим интерпретатором версия пакета будет зависеть от версии самого языка. Если он 2-й версии, то ставится просто pip, если 3-й, то pip3.
Проверяем установленную версию pip:
Установленная версия pip соответствует присутствующей в системе версии python 3.8.
Установка пакетов python
Итак, pip мы установили, давайте теперь посмотрим, как с помощью этого пакетного менеджера устанавливать пакеты python. Никаких отличий от других пакетных менеджеров тут нет. Вот пример того, как устанавливается пакет pymysql для работы с базами данных mysql с помощью пайтона.
Посмотреть список установленных пакетов можно следующим образом:
А вот так вы можете узнать, какие файлы были установлены в систему, принадлежащие указанному пакету.
Удалить пакет с помощью pip можно следующим образом:
Вкратце по работе с pip все. Ничего сложного, все как обычно.
Обновить Python
Рассмотрим теперь тему с обновлением python в ubuntu. Тут может быть несколько вариантов.
- Обновить с помощью apt до последней версии, находящейся в репозитории системы.
- Использовать для обновления python сторонний репозиторий.
- Собрать самую свежую версию из исходников.
Первый и третий варианты мы уже рассмотрели ранее. Обновление python до последней версии ничем не будет отличаться от чистой установки. В случае с пакетным менеджером apt, вам просто вместо install нужно будет указать upgrade.
Если в подключенных репозиториях ubuntu будет свежая версия python, то будет обновление до нее. Если нет, то ничего не произойдет. Останется текущая версия.
Обычное самые свежие версии python есть в отдельном репозитории deadsnakes. Подключим его:
А теперь попробуем поставить самую последнюю версию python из этого репозитория.
В итоге мы обновились до самой свежей версии python 3.9.1. При этом нам не пришлось ее собирать из исходников. Мы воспользовались установкой через пакетный менеджер, а значит нам будет проще обновляться в дальнейшем и поддерживать актуальную версию. Обновления будут приходить автоматически через apt.
Выбор по умолчанию
В описанных выше разделах мы установили как минимум 2 разные версии python3 — 3.8.5 и 3.9.1. Давайте теперь разберемся, какая их них будет выбираться по умолчанию.
В ubuntu указать дефолтную версию python, которая будет выбираться по умолчанию, можно с помощью команды update-alternatives. Вот как это выглядит:
Проверяем теперь дефолтную версию:
Так мы установили в системе по умолчанию версию python 3.8.5. А теперь изменим это на более свежую версию 3.9.1
В предложенном списке выбираем нужную нам версию пайтона, которая будет использоваться по умолчанию в нашей системе ubuntu.
Таким образом, можно добавить сколько угодно версий python в систему и выбирать среди них ту, что будет дефолтной. А к остальным можно обращаться по прямым ссылкам. Например так — /usr/bin/python3 .
Как запускать Python скрипты
С установкой и обновлением пайтона разобрались. Давайте теперь посмотрим, как нам запускать скрипты в системе. Ничего особенного для этого делать не надо. Достаточно указать бинарник интерпретатора и сам скрипт. Примерно так выглядит запуск python скрипта в ubuntu:
Скрипт будет запущен дефолтной версией пайтона. Если нужно запустить в какой-то конкретной версии, то делается это так:
Так же скрипты пайтона можно запускать напрямую в консоли. Для этого в самом начале скрипта нужно объявить окружение.
После этого достаточно сделать файл исполняемым и запустить прямо в консоли.
Если вы хотите запускать скрипт как службу, то вам придется добавить юнит в systemd. Делается это следующим образом. Создаем файл /lib/systemd/system/python.service :
После этого перечитываем конфигурацию systemd и запускаем скрипт на пайтоне как службу:
Так как мой скрипт не предполагает работу в режиме службы, то после выполнения он был завершен. Если же у вас там запрограммирована непрерывная работа, то он будет работать как служба через systemd.
Как удалить Python в Ubuntu
Если вам по какой-то причине необходимо удалить python с сервера ubuntu, то сделать это можно штатным образом через пакетный менеджер apt. Для того, чтобы узнать версию пакетов для удаления, можно вывести их список.
После этого, подставляя версию нужного пакета, удалить его:
Только будьте внимательны при удалении python из системы. Он очень много кем используется. При его удалении будет предложено удалить и все его зависимости. А это внушительный список пакетов, которые без пайтона не смогут работать.
К примеру, без пайтона не сможет работать netplan, с помощью которого настраивается сеть. Так что аккуратнее с удалением питона из системы.
Запуск Python в Docker
Ну и в завершении статьи про Python в Ubuntu, покажу, как можно еще его запускать без локальной установки непосредственно в саму систему. Вы можете запустить питона в докере. Для этого просто выберите необходимую вам версию Python и запустите Docker контейнер с ней.
В данном случае я быстро запустил свой скрипт в версии 3, используя контейнер python:3. Если мне то же самое нужно сделать во 2-й версии, то я просто использую другой контейнер.
Таким образом я могу запускать свой скрипт на любой версии python без необходимости его локальной установки. В приведенном примере контейнер будет автоматически остановлен и удален после выполнения скрипта. За это отвечает параметр —rm, который я указал.
Источник
Как обновить Python в Linux?
Руководство по обновлению Python в операционных системах семейства Linux.
Введение
Представь себе ситуацию, ты придумал какой-нибудь проект, решил реализовать его на Python, открываешь терминал и обнаруживаешь старую версию, например Python 3.4.
Правильно, обновить Python через пакетный менеджер.
Далее я расскажу как это сделать.
Все команды необходимо выполнять под пользователем root или же через sudo.
Обновление Python
Рассмотрим несколько примеров обновления Python в самых популярных дистрибутивах
Обновление Python в Debian Linux (Ubuntu, Raspbian, Mint и другие)
В моем случае я буду использовать raspberrypi 4 с дистрибутивом raspbian (основан на Debian buster). Открываем терминал (или подключаемся по ssh) и вводим команду apt update
Видим примерно такую же ситуацию, локальный репозиторий обновил информацию о доступным пакетах из сетевого репозитория и стали доступны обновления других пакетов. Но мы сейчас не об этом. Нас интересует только python.
Далее вводим команду
В моем дистрибутиве используется последняя доступная версия 3.7.3-1
Обновление Python в Red Hat Linux (CentOS и Fedora Linux)
В принципе обновление пакетов в linux имеет схожий алгоритм. Сперва вы получаете список доступных пакетов из удаленного репозитория и сравнивание с тем, что установлено у вас локально. После обновление локального репозитория нужно инициализировать установку python. Разнообразных дистрибутивов linux у меня под рукой нет, да и используя я в серверных вариантах только debian-based. Но информация о работе с другими пакетными менеджерами доступна онлайн:)
Обновление python выполняется одной командой
Заключение
В этом руководстве мы узнали как обновить Python в Linux.
Источник
Обновление Python в системе Ubuntu
Я хочу обновить сборку Python на своем компьютере с Linux, но я знаю, как это сделать, — удалить текущую версию и установить новую. Моя система уже обновлена (я вчера обновил). Я хотел знать, есть ли способ обновить определенную программу из командной строки, например sudo apt-get update
. Я знаю, что эта команда не существует, но я надеюсь, что что-то эквивалентное делает.
Как уже отмечали другие, bare sudo apt-get install package установит последнюю доступную версию, заменив старую при необходимости.
Но с некоторыми программами (среди которых есть Python) ситуация несколько иная. Некоторые основные, очень и несовместимо разные версии получают свои собственные пакеты. Например, Python 2.6 , Python 2.7 , Python 3.1 все живут в отдельных пакетах в Ubuntu.
Особое значение имеет тот факт, что одной из политик Ubuntu является широкое использование Python для написания программного обеспечения для конечных пользователей. Таким образом , в самом деле, довольно большая часть системы будет написана на Python. На данный момент код работает на Python 2.6 — поэтому эта версия по умолчанию устанавливается при установке; и код не будет легко работать, скажем, на Python 2.7 — потому что существуют несовместимости. Чтобы переключить систему на Python 2.7, необходимо выполнить часть работы, включающую обновление и повторное тестирование всех сценариев. Это не может быть сделано легко; то есть вы не можете просто «переключить» свою систему на Python 2.7 и удалить старую версию.
Но. Если вам не интересны модные механизмы вашей системы и вам нужен только новый Python — не вижу препятствий. Иди и sudo apt-get install python3 и код для 3.x Python смело; просто не забывайте запускать свои скрипты python3 и использовать #!/usr/bin/env python3 строку shebang.
Источник
Home Assistant. Обновление Python
Если вы пользуетесь Home Assistant, то после очередного обновления могли заметить на появившееся уведомление о том, что «Support for the running Python version 3.7.3 is deprecated and will be removed in the first release after December 7, 2020. Please upgrade Python to 3.8.0 or higher».
В стандартных системных репозиториях обычно содержатся стабильные и надежные версии пакетов, а не самые свежие и актуальные. И по состоянию на середину января 2021 года Python в репозиториях Debian и Ubuntu так и не спешат обновлять до версии 3.8.x.
Поэтому единственный вариант убрать назойливое уведомление и избавить себя от возможных проблем с совместимостью грядущих обновлений Home Assistant — это установить новую версию Python вручную, предварительно собрав ее из исходников.
Исходные данные
В этой статье я буду исходить из того, что:
- У вас уже установлен Home Assistant
- Он установлен в виртуальное окружение Python
- Используется операционнная система на базе Debian или Ubuntu
Если вы пользуетесь Docker-контейнерами или дистрибутивом Hass.io, то обновлять пакеты вручную вам не придется.
Обновление Python
Установим нужные для сборки из исходников пакеты:
Скачаем и распакуем архив с Python 3.9.1:
Соберем его из исходников и запустим установку:
Процесс сборки занимает около 12 минут на Raspberry Pi 4, поэтому придется запастись терпением.
После завершения установки можно проверить, что Python действительно обновился путем выполнения двух команд:
И если в консоли появится такие ответы, то процесс обновления прошел успешно:
Теперь обновим менеджер пакетов pip:
В случае если после обновления Python при запуске Home Assistant появится ошибка с доступностью библиотеки libffi.so.7 можно создать симлинк с libffi.so.7 на нее:
Если симлинк не создается, то значит в вашей системе libffi.so.6 находится по другому пути. Найдите корректный путь через поиск по названиям файлов:
Переустановка Home Assistant
Теперь переустановим Home Assistant. Для этого сохраним в файл список используемых им пакетов Python:
Удалим директорию с установленным Home Assistant и создадим ее заново:
Запустим процесс установки по сохраненному ранее списку пакетов:
И, наконец, перезапустим сервис Home Assistant:
На этом процесс обновления завершен окончательно, и после перезапуска из панели уведомлений должно исчезнуть сообщение о неподдерживаемой версии Python.
7 комментария на «Home Assistant. Обновление Python»
Эта переустановка не сбросит настроенные автоматизации и прочие настройки, в том числе панели отображения?
Нет, настройки хранятся в /home/homeassistant/.homeassistant, а тут затрагивается только /srv/homeassistant.
Но резервную копию все равно сделать стоит.
Видимо часть
sudo ln -s /usr/local/bin/python3.9 /usr/bin/python3.9
echo «alias python=/usr/local/bin/python3.9» >>
/.bashrc
echo «alias python3=/usr/local/bin/python3.9» >>
/.bashrc
важна для изменения системных параметров версии.
И в вашем туториале по обновлению hass не сработала строка:
sudo /srv/homeassistant/bin/python3.9 -m pip install —upgrade pip
пока не поменял ее на:
sudo /srv/homeassistant/bin/python3 -m pip install —upgrade pip
В дальнейшем при использовании
pip3 freeze –local > requirements.txt
Usage:
pip3 freeze [options]
no such option: -o
и на месте requirements.txt получаю пустой текстовый файл, что соответственно при попытке установить hass заново с помощью этого списка пакетов не приводит ни к чему.
Устанавливал заново по предыдущему вашему туториалу. Вроде бы всё заработало со старыми настройками. Версия hass 2021.2.3
N
Все сделал по Вашим рекомендациям
В конце просит ввести пароль .Перепробовал все -не подходят
Какой пароль нужно вводить
«В конце» — это при выполнении команды «sudo systemctl restart home-assistant@homeassistant»?
Нужно ввести пароль от суперпользователя. Возможно он не задан у вас в системе. В таком случае задайте его, выполнив команду «sudo passwd».
Проверил инструкцию на свежеустановленной Raspberry Pi OS (Raspbian) — все по-прежнему актуально. Разве что сам Python обновился с 3.9.1 до 3.9.2.
Источник