---
title: 'Установка Python на Linux. Несколько способов | Zomro'
description: 'В этой статье мы расскажем, как установить Python на ваш Linux-дистрибутив.'
image: 'https://dx86q6oq7ry0e.cloudfront.net/uploads/blog/seo%40server-panel.net/2024/09/16/1_q50.jpg'
---

![opened image]()

  * [Zomro](https://zomro.com/rus/)
  * [Полезные статьи](https://zomro.com/rus/blog/articles/)
  * Установка Python на Linux. Несколько способов 



# Установка Python на Linux. Несколько способов

16-09-2024

Python — это многофункциональный язык программирования, который подходит для решения самых разных задач, от создания веб-сайтов до анализа данных. Он популярен среди разработчиков благодаря своей простоте и универсальности.

В этой статье мы расскажем, как установить Python на ваш Linux-дистрибутив. 

## **Мы рассмотрим три варианта установки Python:**

  1. **С помощью пакетного менеджера** — самый простой и распространенный метод установки Python. В большинстве дистрибутивов Linux уже есть пакеты Python в их репозиториях.
  2. **Из исходных кодов** — этот способ предоставляет больше гибкости, но может оказаться сложнее.
  3. **С помощью пакетного менеджера для Python (pyenv)** — самый удобный способ, требующий дополнительных настроек.



### 

### **Проверка версий Python**

Обычно на большинстве дистрибутивов Линукс Python 3 версии уже установлен, как стандартная опция. Мы можем проверить его версию при помощи следующей команды, открыв терминал.

**python3 --version**

![Установка Python на Linux. Несколько способов - 1](https://dx86q6oq7ry0e.cloudfront.net/uploads/blog/seo%40server-panel.net/2024/09/16/1_q50.jpg)

Однако на устаревших версиях дистрибутивов может быть установлен Python 2-й версии, для него используем команду 

**python --version**

### **Установка Python через пакетный менеджер**

Перед установкой необходимо обновить системные пакеты и репозитории и тут рассмотрим для разных версий свои способы

**_Debian / Ubuntu_**

**sudo apt update && sudo apt upgrade -y**

  
![Установка Python на Linux. Несколько способов - 2](https://dx86q6oq7ry0e.cloudfront.net/uploads/blog/seo%40server-panel.net/2024/09/16/2_q50.jpg)

**_RHEL (Fedora / Almalinux / RockyOS / CentOS)_**

**sudo yum update -y**

Для дистрибутивов Ubuntu нам легко расширить список доступных версий, добавив репозиторий deadsnakes:

**sudo add-apt-repository ppa:deadsnakes/ppa**

  
![Установка Python на Linux. Несколько способов - 3](https://dx86q6oq7ry0e.cloudfront.net/uploads/blog/seo%40server-panel.net/2024/09/16/3_q50.jpg)

Для дистрибутивов на основе Red Hat (Fedora / Almalinux / RockyOS / CentOS) легко добавить репозиторий EPEL (Extra Packages for Enterprise Linux):

**sudo yum install epel-release -y**

Далее нам нужно проверить, какие версии Python доступны для установки:

**_Debian / Ubuntu_**

**sudo apt search python | grep ^python**

  
![Установка Python на Linux. Несколько способов - 4](https://dx86q6oq7ry0e.cloudfront.net/uploads/blog/seo%40server-panel.net/2024/09/16/4_q50.jpg)

**_RHEL (Fedora / Almalinux / RockyOS / CentOS)_**

**sudo yum list available | grep ^python**

  


Что бы ограничиться нужной нам версией необходимо ввести команду по примеру (ищем доступна ли нам версия python 3.8, так как 12 версия у нас уже установлена)

**_Debian / Ubuntu_**

**sudo apt-cache search python | grep -E ^python3?\\.8**

  
![Установка Python на Linux. Несколько способов - 5](https://dx86q6oq7ry0e.cloudfront.net/uploads/blog/seo%40server-panel.net/2024/09/16/5_q50.jpg)

**_RHEL (Fedora / Almalinux / RockyOS / CentOS)_**

**sudo yum list available | grep -E ^python3?\\.8**

Если в списке есть нужная нам версия, то установить ее можно с помощью команды

**_Debian / Ubuntu_**

**sudo apt install python3.8**

  
![Установка Python на Linux. Несколько способов - 6](https://dx86q6oq7ry0e.cloudfront.net/uploads/blog/seo%40server-panel.net/2024/09/16/6_q50.jpg)

**_RHEL (Fedora / Almalinux / RockyOS / CentOS)_**

**sudo yum install python3.8 -y**

Тут важный момент, а именно нужно ли указывать минорную версию через точку (python3.10) или без (python310), зависит от того, как называется пакет версии. Это можно узнать из результата выполнения предыдущих команд, которую мы использовали для проверки доступный версий для установки.

Чтобы обратиться к установленной версии интерпретатора нужно указать его номер и версию в команде:

**python3.8 --version**

  
![Установка Python на Linux. Несколько способов - 7](https://dx86q6oq7ry0e.cloudfront.net/uploads/blog/seo%40server-panel.net/2024/09/16/7_q50.jpg)

## 

## **Компиляция Python из исходного кода**

Компиляция версии Python из исходного кода требуется установка дополнительных зависимостей. Выполняем установку следующими командами:

**_Debian / Ubuntu_**

**sudo apt-get install -y make curl build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl**

**![Установка Python на Linux. Несколько способов - 8](https://dx86q6oq7ry0e.cloudfront.net/uploads/blog/seo%40server-panel.net/2024/09/16/8_q50.jpg)**

**_RHEL (Fedora / Almalinux / RockyOS / CentOS)_**

**sudo yum -y install epel-release**

**sudo yum -y groupinstall «Инструменты разработки»**

**sudo yum -y install curl gcc make zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel xz xz-devel libffi-devel tk-devel**

Для удобства дальнейшей работы по установке Python в переменных командной оболочки, давайте зададим номер версии в виде переменной

Проверить список доступных версий Python можно на офф.сайте <https://www.python.org/downloads/source/>

Нужно скачать и распаковать архив с исходным кодом, а после нужно перейти в распакованную директорию, а для того, чтобы упростить нам задачу воспользуемся можем воспользоваться сервисом Build, compile and install Python from source code <https://www.build-python-from-source.com/>

**sudo apt-get update**

**sudo apt-get upgrade**

**sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev liblzma-dev tk-dev**

**cd /tmp/**

**wget https://www.python.org/ftp/python/3.9.20/Python-3.9.20.tgz**

**tar xzf Python-3.9.20.tgz**

**cd Python-3.9.20**

Теперь указываем конфигурацию для сборки и запускаем компиляцию

**sudo ./configure --prefix=/opt/python/3.9.20/ --enable-optimizations --with-lto --with-computed-gotos --with-system-ffi --enable-shared**

**sudo make -j "$(nproc)"**

**sudo ./python3.9 -m test -j "$(nproc)"**

**sudo make altinstall**

**sudo rm /tmp/Python-3.9.20.tgz**

В зависимости от наших потребностей в использовании Python можете добавить следующие опции к команде ./configure, которую мы использовали выше. Сейчас приведем примеры того, что можем добавить:

**\--prefix=/path/to/directory** \- Указывает каталог установки.

**\--enable-optimizations** \- Включает оптимизацию для Python.

**\--enable-ipv6** \- Включает поддержку сетей IPv6.

**\--with-lto** \- Включает Link-Time Optimization (LTO), что улучшит производительность, но может увеличить время компиляции.

Чтобы узнать больше обо всех опциях, конфигурации, нужно выполнить команду

**./configure --help**

Далее можем добавить дополнительные инструменты для работы

**sudo /opt/python/3.9.20/bin/python3.9 -m pip install --upgrade pip setuptools wheel**

**sudo ln -s /opt/python/3.9.20/bin/python3.9 /opt/python/3.9.20/bin/python3**

**sudo ln -s /opt/python/3.9.20/bin/python3.9 /opt/python/3.9.20/bin/python**

**sudo ln -s /opt/python/3.9.20/bin/pip3.9 /opt/python/3.9.20/bin/pip3**

**sudo ln -s /opt/python/3.9.20/bin/pip3.9 /opt/python/3.9.20/bin/pip**

**sudo ln -s /opt/python/3.9.20/bin/pydoc3.9 /opt/python/3.9.20/bin/pydoc**

**sudo ln -s /opt/python/3.9.20/bin/idle3.9 /opt/python/3.9.20/bin/idle**

**sudo ln -s /opt/python/3.9.20/bin/python3.9-config /opt/python/3.9.20/bin/python-config**

  


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

  
![Установка Python на Linux. Несколько способов - 9](https://dx86q6oq7ry0e.cloudfront.net/uploads/blog/seo%40server-panel.net/2024/09/16/9_q50.jpg)

Сейчас важный шаг, а именно необходимо проверить правильность установки Python. Для установленной нашей версии **3.9.20** \- проверяем следующей командой:

**python3.9 --version**

  
![Установка Python на Linux. Несколько способов - 10](https://dx86q6oq7ry0e.cloudfront.net/uploads/blog/seo%40server-panel.net/2024/09/16/10_q50.jpg)

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

**rm -rf /tmp/Python-3.9.20 /tmp/Python-3.9.20.tar.gz**

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

**sudo make clean; ./configure; sudo make -j «$(nproc)»; sudo make install**

  


## **Установка Python через pyenv**

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

Прежде чем установить pyenv, нужно установить зависимости, необходимые для компиляции Python, команды для их установки нам уже известны с этой статьи выше, но нужно добавить будет еще и пакет git, поскольку загружать pyenv будем из git-репозитория

**_Debian / Ubuntu_**

**sudo apt install -y curl git-core gcc make zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev libssl-dev build-essential libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev**

  
![Установка Python на Linux. Несколько способов - 11](https://dx86q6oq7ry0e.cloudfront.net/uploads/blog/seo%40server-panel.net/2024/09/16/11_q50.jpg)

**_RHEL (Fedora / Almalinux / RockyOS / CentOS)_**

**sudo yum -y install epel-release**

**sudo yum -y groupinstall «Development Tools»**

**sudo yum -y install git curl gcc make zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel xz xz-devel libffi-devel tk-devel**

Далее загружаем последнюю ветку исходного кода pyenv из репозитория на Github и устанавливаем его в путь ~/.pyenv :

**git clone https://github.com/pyenv/pyenv.git ~/.pyenv**

  
![Установка Python на Linux. Несколько способов - 12](https://dx86q6oq7ry0e.cloudfront.net/uploads/blog/seo%40server-panel.net/2024/09/16/12_q50.jpg)

Теперь нужно установить переменную окружения PYENV_ROOT, чтобы она указывала на путь, куда вы установили pyenv, и экспортировать его. Затем добавьте $PYENV_ROOT/bin в PATH, чтобы запустить утилиту командной строки pyenv как любую другую системную команду. 

Вам также нужно включить shims и автозавершение, добавив pyenv init в командную строку, чтобы иметь возможность переключаться между версиями Python «на лету». Вы можете добавить все конфигурации с помощью следующей команды:

**echo -e "\n## pyenv configs\nexport PYENV_ROOT=\"\$HOME/.pyenv\"\nexport PATH=\"\$PYENV_ROOT/bin:\$PATH\"\n\nif command -v pyenv 1 >/dev/null 2>&1; then\n eval \"\$(pyenv init -)\"\nfi" >> ~/.bashrc**

**## pyenv configs**

**export PYENV_ROOT=«$HOME/.pyenv»**

**export PATH=«$PYENV_ROOT/bin:$PATH»**

**if command -v pyenv 1 >/dev/null 2>&1; then**

**eval «$(pyenv init -)»**

**fi**

  
![Установка Python на Linux. Несколько способов - 13](https://dx86q6oq7ry0e.cloudfront.net/uploads/blog/seo%40server-panel.net/2024/09/16/13_q50.jpg)

После этого нужно применить изменения:

**source ~/.bashrc**

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

На этом этапе можно перейти непосредственно к установке нужной вам версии Python. Проверить список доступных для установки версий можно, выполнив следующую команду:

**pyenv install -l**

  
![Установка Python на Linux. Несколько способов - 14](https://dx86q6oq7ry0e.cloudfront.net/uploads/blog/seo%40server-panel.net/2024/09/16/14_q50.jpg)

Установить версии Python можно по следующему примеру:

**pyenv install 3.12.2**

![Установка Python на Linux. Несколько способов - 15](https://dx86q6oq7ry0e.cloudfront.net/uploads/blog/seo%40server-panel.net/2024/09/16/15_q50.jpg)

### **Затем проверяем, какие версии уже установлены:**

**pyenv versions**

  
![Установка Python на Linux. Несколько способов - 16](https://dx86q6oq7ry0e.cloudfront.net/uploads/blog/seo%40server-panel.net/2024/09/16/16_q50.jpg)

Теперь у нас есть возможность устанавливать версии Python для каждого проекта отдельно. Для этого нужно перейти в директорию нашего проекта:

**cd /path/to/project/**

Теперь на уровне командной оболочки нужно установить версию Python, которую мы предварительно установили через команду**pyenv install :**

**pyenv local 3.10.3**

Теперь нужно проверить, находясь в директории, корректно ли была установлена версия для нашего проекта или нет, при помощи команд **pyenv version** или **python -V**.

  
![Установка Python на Linux. Несколько способов - 17](https://dx86q6oq7ry0e.cloudfront.net/uploads/blog/seo%40server-panel.net/2024/09/16/17_q50.jpg)

**Вывод**

Мы рассмотрели 3 разных способа установки версий Python на Linux. Самым удобным является метод установки через системный пакетный менеджер, ведь установка проходит в 2-3 команды, однако когда на сервере могут размещаться различные приложения с различными версиями - лучше выбрать установку через Pyenv. Этот способ рекомендует и сообщество Python, так как любую версию можно установить одной командой и сразу же начать ее использовать.

В Zomro вы можете выбрать [сервер](https://zomro.com/rus/dedicated) для любых потребностей и любых приложений.

Похожие статьи

[Для чего нужен сервер Samba?](https://zomro.com/rus/blog/articles/528-what-is-a-samba-server-for) [Хостинг с тестовым периодом. Зачем он нужен и что проверять?](https://zomro.com/rus/blog/articles/29-hosting-s-testovym-periodom-zachem-on-nuzhen-i-chto-proveryat) [Создаем надежный и безопасный пароль](https://zomro.com/rus/blog/articles/27-sozdaem-nadezhnyy-i-bezopasnyy-parol) [Реселлинг хостинга](https://zomro.com/rus/blog/articles/31-reselling-hostinga) [VPS против облачного хостинга: что выбрать и в чем разница?](https://zomro.com/rus/blog/articles/169-vps-protiv-oblachnogo-hostinga-chto-vybrat-i-v-chem-raznica)

[ Premium Cloud VPS от €7.95/мес ](/rus/vps)
