- Как установить Python на Linux
- О языке программирования Python
- Подготовка к установке Python под Ubuntu 20 (Debian 10)
- Установка новой версии Python из deadsnakes PPA
- Сборка Python 3.9.2 в Linux из исходников
- Особенности установки Python на CentOS
- Как создать и настроить виртуальную среду
- Работа с пакетом virtualenv
- Работа с виртуальной средой с помощью virtualenvwrapper и pip
- Заключение
- Как проверить версию Python
- Управление версиями Python
- Проверка версии Python
- Программная проверка версии Python
- Выводы
- Несколько версий Python на Linux-машине
- Использование нескольких версий Python на unix-подобных операционных системах.
- Что и зачем?
- Установка Python из репозиториев пакетов операционной системы.
- Сборка из исходного кода.
- pyenv
- Установка системным пакетным менеджером из сторонних источников.
- Псевдонимы python , python2 , python3 .
- Установка poetry на системы с разными версиями Python
- Установка в выделенное виртуальное окружение
Как установить Python на Linux
Оглавление
О языке программирования Python
В последнее время, среди нового поколения разработчиков программного обеспечения большую популярность набирает язык программирования Python (Питон). На примере Python, мы видим высокоуровневый язык, который не нуждается в компиляторе и применяется для написания самого разного вида софта (мобильные приложения, веб-разработка, СПО под Линукс, системы искусственного интеллекта и machine learning, Data Science и др.). Надо отметить, что профессия программиста на Python сейчас достаточно популярна и востребована среди молодежи, ей обучают на многочисленных курсах, да и предложения по зарплате очень даже неплохие.
Так как программы, разработанные на Python, не компилируются, то роль интерпретатора байт-кода играет CPython. Исходный код программ, написанных на питоне, хранится в файлах с расширением .py.
В ОС Linux язык Python играет важную роль, он используется для системного администрирования, и именно на нем написаны такие известные программы, как GIMP, Blender и др. В Линукс интерпретатор питон уже установлен «по умолчанию», но как правило, разработчику необходима или наиболее свежая версия или же несколько версий Python сразу. На сегодня, последняя стабильная версия языка Python — это 3.9.2, скачать ее можно на официальном сайте проекта.
В этой статье мы расскажем все тонкости установки Python для Linux, на примере Ubuntu 20, Debian 10, а также CentOS 7/8.
Подготовка к установке Python под Ubuntu 20 (Debian 10)
Как мы уже писали ранее, Python должен быть установлен «по умолчанию» в стандартном пакете сборки Ubuntu 20.04. Перед выполнением инсталляционных работ, наша задача — проверить какая версия питон у нас уже установлена в системе. Сделать это можно с помощью следующей команды:
В нашей ОС Ubuntu 20 уже есть версия Python 3.8.5. Существует еще одна полезная команда, с помощью которой можно узнать, какие вообще версии Python установлены в нашей ОС Линукс, см. ниже на скриншоте:
Сейчас мы покажем, как установить Python на Ubuntu двумя популярными способами:
- с помощью apt (используя deadsnakes PPA);
- из исходников, скачанных с официального сайта.
Все команды следует выполнять или под пользователем root, или используя sudo.
Установка новой версии Python из deadsnakes PPA
Первоначально, введем команды для обновления списка пакетов и установки необходимых нам для дальнейшей работы библиотек:
Затем необходимо включить deadsnakes PPA (Personal Package Archive), для этого выполним следующую команду:
После этого действия, еще раз выполним команду:
Сейчас установим версию Python 3.9:
На следующем этапе, мы опять проверим список установленных в системе версий Python и видим, что добавилась версия 3.9:
Сборка Python 3.9.2 в Linux из исходников
Этот способ может показаться немного сложнее предыдущего, но зато с помощью него можно установить самую свежую версию Python, которая доступна на официальном сайте. Процесс установки опробован на ОС Ubuntu 20, также его можно применять и на Debian 10.
Зайдем на FTP сервер официального сайта проекта Python (https://www.python.org/ftp/python) и выберем там архив с последней стабильной версией питон:
Перед началом процесса работ по установке выполним команды для обновления системы:
На следующем шаге, необходимо инсталлировать необходимые нам для работы пакеты:
Затем перейдем в папку /tmp и скачаем в нее архив с официального сайта Python*:
*Примечание: можно использовать как команду wget, так и команду curl.
Cейчас распакуем этот архив во временную папку и затем его сразу же и удалим:
На следующем этапе, запустим команду, которая выполнит подготовку к установке (enable-optimization — служит для оптимизации двоичного файла Python). Исполнение данной команды займет некоторое время:
Для того, чтобы начать процесс сборки, выполним команду*:
*Примечание: цифра 2 указывает на количество ядер процессора. Узнать эти данные можно с помощью команды nproc.
Если в процессе сборки будут замечены проблемы, то необходимо запустить сборку в однопоточном режиме, следующим образом (без параметров -j 2), просто выполнив команду make.
Теперь установим Python 3.9.2 с помощью команды altinstall, последняя версия Python инсталлируется наряду со старыми версиями, т.е. у вас в ОС будет несколько версий языка Python. Если же вы используете команду install, то новая версия питон будет установлена поверх старых (а все старые версии будут удалены).
*Процесс инсталляции Python путем сборки пакета из исходников может занять длительное время.
В результате, в нашей ОС Ubuntu 20 (Debian 10) будет установлено сразу несколько версий языка Python, у нас конкретно — это версии 3.9.2 и 3.8.5, проверить можно с помощью команд:
Особенности установки Python на CentOS
Для инсталляции Python на CentOS версии 7 необходимо использовать репозиторий epel (Extra Packages for Enterprise Linux) или же DNF (Dandified YUM, т.е. yum нового поколения) для CentOS 8.
Для способа с использованием DNF выполним следующие команды:
- Проверим обновления нашего диспетчера пакетов:
- Установим стабильную версию Python 3 из репозитория:
- Проверим, какая точно версия Python у нас инсталлировалась:
- Чтобы установить инструментарий для разработчиков, выполним следующую команду:
Если же вы будете использовать репозиторий epel, то следуйте простым инструкциям:
- Подключите репозиторий epel для начала работы:
- Затем установите Python (например, версии 3.6):
- Для проверки номера версии введите команду:
- Для отображения последней установленной в вашей ОС версии используйте команду:
Как создать и настроить виртуальную среду
Для чего нужна виртуальная среда? С помощью виртуальной среды мы можем для каждого своего проекта на языке Python выделить отдельную область (со своими зависимостями, с установленными модулями питон, разными версиями языка и т.д.).
Работа с пакетом virtualenv
Например, у нас есть Project A и Project B, для каждого из них мы можем создать свою виртуальную среду, сделать это можно с помощью venv, выполнив несложные команды:
- Создаем каталог для нового проекта my_project и переходим в него:
- Выполним команду, чтобы создать виртуальную среду:
- На данном этапе необходимо ее активировать:
На скриншоте ниже показано, что далее работа с проектом ведется уже внутри виртуальной среды:
Работа с виртуальной средой с помощью virtualenvwrapper и pip
Все действия исполняем для пользователя root, чтобы перейти в root, выполним команду:
- Для начала устанавливаем менеджер пакетов pip:
Осуществим установку virtualenv и virtualenvwrapper:
Затем необходимо отредактировать файл .bashrc (в директории пользователя root, если работаете под root или же в директории другого пользователя):
Добавим в конец файла следующие строки:
Сохраним изменения и закроем файл.
А) Для создания новой виртуальной среды (например, ansible) используется команда:
Б) Для удаления виртуальной среды:
В) Чтобы активировать нужную вам виртуальную среду:
Г) Для выхода из среды:
Д) Показать список установленных пакетов:
Е) Для инсталляции конкретных пакетов:
Заключение
В этой статье мы рассказали нашим читателям об использовании языка программирования Python и подробно изложили два способа установки последней версии Python для ОС Linux (на Ubuntu 20, Debian 10, CentOS 7 и 8). Также дали основные понятия о работе с виртуальной средой.
Источник
Как проверить версию Python
Python — один из самых популярных языков программирования в мире. Он используется для разработки веб-сайтов, написания скриптов, машинного обучения, анализа данных и многого другого.
В этой статье объясняется, как с помощью командной строки проверить, какая версия Python установлена в вашей операционной системе. Это может быть полезно при установке приложений, которым требуется определенная версия Python.
Мы также покажем вам, как программным способом определить, какая версия Python установлена в системе, в которой выполняется скрипт Python. Например, при написании сценариев Python вам необходимо определить, поддерживает ли сценарий версию Python, установленную на машине пользователя.
Управление версиями Python
Python использует семантическое управление версиями . Версии готовых к выпуску релизов представлены по следующей схеме:
Например, в Python 3.6.8 3 — основная версия, 6 — дополнительная версия, а 8 — микроверсия.
- MAJOR — Python имеет две основные версии, которые не полностью совместимы: Python 2 и Python 3. Например, 3.5.7 , 3.7.2 и 3.8.0 являются частью основной версии Python 3.
- MINOR — эти выпуски содержат новые возможности и функции. Например, 3.6.6 , 3.6.7 и 3.6.8 являются частью дополнительной версии Python 3.6.
- MICRO — Новые микроверсии содержат различные исправления ошибок и улучшения.
В выпусках для разработки есть дополнительные квалификаторы. Для получения дополнительной информации прочтите документацию Python «Цикл разработки» .
Проверка версии Python
Python предварительно установлен в большинстве дистрибутивов Linux и macOS. В Windows его необходимо скачать и установить.
Чтобы узнать, какая версия Python установлена в вашей системе, выполните команду python —version или python -V :
Команда напечатает версию Python по умолчанию, в данном случае 2.7.15 . Версия, установленная в вашей системе, может отличаться.
Версия Python по умолчанию будет использоваться всеми сценариями, в которых /usr/bin/python установлен в качестве интерпретатора в строке сценария shebang .
В некоторых дистрибутивах Linux одновременно установлено несколько версий Python. Обычно двоичный файл Python 3 называется python3 , а двоичный файл Python 2 называется python или python2 , но это может быть не всегда.
Вы можете проверить, установлен ли у вас Python 3, набрав:
Поддержка Python 2 заканчивается в 2020 году. Python 3 — это настоящее и будущее языка.
На момент написания этой статьи последним основным выпуском Python была версия 3.8.x. Скорее всего, в вашей системе установлена более старая версия Python 3.
Если вы хотите установить последнюю версию Python, процедура зависит от используемой вами операционной системы.
Программная проверка версии Python
Python 2 и Python 3 принципиально разные. Код, написанный на Python 2.x, может не работать в Python 3.x.
Модуль sys , доступный во всех версиях Python, предоставляет системные параметры и функции. sys.version_info позволяет определить версию Python, установленную в системе. Это кортеж , который содержит пять номеров версий: major , minor , micro , releaselevel и serial .
Допустим, у вас есть сценарий, для которого требуется Python версии не ниже 3.5, и вы хотите проверить, соответствует ли система требованиям. Вы можете сделать это, просто проверив major и minor версии:
Если вы запустите скрипт с использованием Python версии ниже 3.5, он выдаст следующий результат:
Чтобы написать код Python, работающий как под Python 3, так и под Python 2, используйте модуль future . Он позволяет запускать код, совместимый с Python 3.x, под Python 2.
Выводы
Узнать, какая версия Python установлена в вашей системе, очень просто, просто введите python —version .
Не стесняйтесь оставлять комментарии, если у вас есть вопросы.
Источник
Несколько версий Python на Linux-машине
Использование нескольких версий Python на unix-подобных операционных системах.
Что и зачем?
Python как язык постоянно развивается. Ветка Py2 скоро будет объявлена неподдерживаемой. Однако до сих пор существуют окружения, где приходится использовать Py2 и даже не свежий 2.7.x, а что-то по-старее. Да и Python 3.x нынче — это большое семейство версий, кое-где несовместимых между собой, в т.ч. и синтаксически! Поэтому практикующий питонист широкого профиля должен понимать, как на одной машине иметь несколько версий среды исполнения. Даже если “в продакшне” и используется какой-нибудь Docker!
Установка Python из репозиториев пакетов операционной системы.
Если вам повезло, то в репозитории пакетов ОС будет нужная версия Python и вы сможете её установить с помощью команды вроде sudo apt-get install python3.5 . Однако достаточно старые дистрибутивы ОС могут не содержать новых версий Python, а достаточно новые дистрибутивы — старых версий Python. В особых случаях репозиторий вообще может содержать только одну версию среды исполнения.
Сборка из исходного кода.
CPython — проект с исходным кодом. Доступ к исходному коду всех версий CPython позволяет собрать нужную версию самостоятельно. Однако это процесс, пусть и достаточно хорошо документирован, но всё же требует понимания того, что вам может потребоваться для компиляции кода под вашу операционную систему.
А ещё сборка из исходного кода — это единственный вариант для тех, кто хочет что-то в этом самом коде изменить или скомпилировать интерпретатор для какой-то экзотической платформы (встраиваемые системы, ретро-железо).
pyenv
Ещё одним из способов получения разных версий среды исполнения на одной машине является pyenv. Это “менеджер версий”, выполненный в стиле rbenv для Ruby, nvm для NodeJS и т.п.
Миссия pyenv — управлять установленными версиями Python и делать некую версию “активной”. Активная версия вызывается, если мы выполняем команду python (а также pip ), при этом разные проекты могут использовать разные активные версии и даже более чем одну одновременно. Последнее свойство полезно авторам библиотек, рассчитанных на широкий круг пользователей — таковые всегда нужно тестировать на разных версиях Python.
Установить pyenv достаточно просто, ведь инструмент представляет собой набор shell scripts. Именно поэтому получился pyenv максимально кроссплатформенным. Но за эту кроссплатформенность приходится платить тем, что каждую версию среды исполнения нужно компилировать из исходного кода! Для компиляции того же CPython потребуется компилятор Си ( gcc на Linux и clang на MacOS), и заголовочные файлы для библиотек, которые использует интерпретатор. Полный список пререквизитов для сборки приходится гуглить.
Установка системным пакетным менеджером из сторонних источников.
Для большинства Unix-like ОС, помимо официальных репозиториев, существуют и неофициальные источники пакетов.
Для Debian-like систем, таких как Ubuntu и её производные, сторонние источники пакетов называются PPA, Personal Package Archives. Подключить любой PPA достаточно просто, но нужно понимать, что вы таким образом соглашаетесь на установку пакетов из стороннего источника, никак не подчиняющегося авторам дистрибутива ОС! Подключайте только хорошо зарекомендовавшие себя PPA, например — от самих авторов ПО, которое вы хотите установить!
Для Ubuntu-based систем существует PPA от команды “deadsnakes”. Это проверенный источник пакетов с самыми разными версиями Python как для свежих релизов ОС, так и для релизов “второй свежести”.
Главное преимущество установки пакетов из проверенных PPA состоит в том, что пакеты обычно содержат оптимизированные под конкретный дистрибутив сборки с должным количеством обновлений и исправлений. Такие сборки более безопасны и производительны, чем те, что собраны вручную из исходников.
К тому же в популярных PPA пакеты обновляются своевременно, чего нельзя сказать про пакеты для устаревших релизов ОС, для которых срок поддержки закончился. Конечно, такие релизы лучше вообще не использовать (небезопасно!), но иногда может не быть выбора, а с PPA вы хотя бы будете иметь свежие версии среды исполнения.
Псевдонимы python , python2 , python3 .
Исторически сложилось так, что интерпретатор Python запускается командой python . Но в какой-то момент случились Python3, обратная несовместимость, “разброд и шатания”. Чтобы внести некоторую определённость, был представлен PEP-394: The “python” Command on Unix-Like Systems. Однако даже этот PEP разрешает разным системам самим выбирать, использовать ли Py2 и Py3 вместе или выбрать что-то одно. Системы должны лишь обеспечить, чтобы
- команда python2 вызывала некую версию Python 2.x, если таковая вообще предоставляется;
- команда python3 вызывала некую версию Python 3.x, если таковая предоставляется;
- команда python соответствовала либо python2 , либо python3 (но не ссылалась на какую-то “третью” версию рантайма).
При этом не гарантируется, что все эти команды будут присутствовать в конкретном случае: где-то будет доступна только команда python3 , где-то — python2 . Псевдоним python вообще обязан присутствовать лишь в виртуальном окружении и всегда соответствовать той версии интерпретатора, которая была выбрана при создании окружения.
Такое “разнообразие” сильно усложняет жизнь разработчикам ПО, особенно — авторам инструментов разработки! Разработчик может написать скрипт для Py2 и указать в shebang #!/usr/bin/env python . Но на одних ОС команда python вообще не будет доступна и скрипт просто не запустится, а на других python будет означать какой-нибудь Python 3.8 и скрипт может даже запуститься, но сломается в процессе выполнения.
И даже если автор использует техники, позволяющие писать портируемый код (six, 3to2), умеющий выполняться и на Py2, и на Py3, всё равно непонятно что же указать в shebang!
Вышеупомянутый PEP советует
- либо фиксировать версию явно (только Py2 или только Py3),
- либо требовать использования виртуальных окружений (в ВО всегда будет доступна команда python )
- либо не писать shebang руками, а вместо этого использовать средства setuptools или другой системы пакетирования, создающие точки входа в зависимости при установке пакета (у точек входа shebang будет правильный).
Установка poetry на системы с разными версиями Python
На момент написания статьи poetry (это такой менеджер виртуальных окружений, сборщик пакетов и проч — “швейцарский нож” разработчика на Python) страдал от проблем с версиями рантайма: при установке рекомендованными способом скрипт-установщик завершался с ошибкой, либо установка проходила успешно, но затем не работала сама программа.
Дело (было?) в том, что и в скрипте-установщике и в точках входа в программу в shebang прописан python ! Сама программа работает и на Py2, и на Py3, но авторы исходили из предположения, что на целевой системе в любом случае будет присутствовать псевдоним python , вызывающий тот или иной интерпретатор. На некоторых системах такой команды нет…
Если использовать pyenv, оный всегда предоставляет команду python и poetry “просто работает”. Нет проблем и на старых дистрибутивах, где ещё не отказались окончательно от Py2 . И конечно всё работает в виртуальном окружении. Рассмотрим этот вариант поподробнее.
Установка в выделенное виртуальное окружение
Для начала нам понадобится само окружение. Предположим, что Python3 вы уже так или иначе поставили. Делаем раз
Источник