Установить Python в Linux

Contents
Проверка установленных версий
Установка с помощью менеджера пакетов
Скачать Python
Скачать и установить Python 2.7.9
Скачать и установить Python 3
pyenv: установка нескольких разных версий
Установка Pip
Установка с помощью Makefile
Похожие статьи

Проверка установки Python в Linux

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

Выполните команды

python --version

Python 2.7.16

python3 --version

Python 3.7.3

Как Вы можете увидеть - в моём Debian из коробки установлены Python 2.7.16 и Python 3.7.3

Если у вас нет Python по умолчанию - переходите к следующему шагу.

Прежде чем устанавливать Python советую установить бибилотеки для работы с ssl.

Иначе, в будущем можно столкнуться с ошибкой SSL module is not available

Установка с помощью менеджера пакетов

Самый простой способ - воспользоваться менеджером пакетов.

В Debian , Ubuntu и других .deb дистрибутивах это apt

В CentOS , Rocky , RedHat и других .rpm дистрибутивах это yum

Выполните

sudo apt update -y
sudo apt-get install -y python3

Или

sudo yum update -y
sudo yum install -y python3

Если что-то не получается - переходите к следующему шагу

Скачать Python

Репозиторий: https://www.python.org/ftp/python/

Пример скачивания с помощью wget

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

Скачать и установить Python 2.7.9

Чтобы установить Python из скачанного архива нужен компилятор C например gcc

Репозиторий: https://www.python.org/ftp/python/

Если нужно установить второй Python последней версии 2.7.9

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

--2021-01-11 12:17:43-- https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz Resolving www.python.org (www.python.org)... 151.101.84.223, 2a04:4e42:14::223 Connecting to www.python.org (www.python.org)|151.101.84.223|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 16657930 (16M) [application/octet-stream] Saving to: ‘Python-2.7.9.tgz’ Python-2.7.9.tgz 100%[=============================================================>] 15.89M 3.63MB/s in 4.4s 2021-01-11 12:17:48 (3.61 MB/s) - ‘Python-2.7.9.tgz’ saved [16657930/16657930]

Распаковать архив можно командой

tar xvzf Python-2.7.9.tgz

Затем нужно перейти в распакованную директорию и выполнить configure make install

cd Python-2.7.9
./configure
make
sudo make install

Пример Make файла для установки рабочего окружения

.PHONY: preinstall-env preinstall-env: @sudo apt update @sudo apt upgrade @sudo apt-get install -y build-essential libssl-dev zlib1g-dev \ libbz2-dev libreadline-dev libsqlite3-dev libffi-dev \ wget llvm \ libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev \ liblzma-dev curl git #@curl https://pyenv.run | bash curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash @echo "" >> ~/.bashrc @echo 'eval "$$(pyenv virtualenv-init -)"' >> /home/$$(whoami)/.bashrc @echo "" >> ~/.bashrc @echo 'eval "$$(pyenv init -)"' >> ~/.bashrc @export PYENV_ROOT="/home/$$(whoami)/.pyenv" @export PATH="$PYENV_ROOT/bin:$PATH"

Скачать и установить Python 3

Перед установкой Python 3 советую установить библиотеки libbz2-dev libffi-dev libssl-dev

sudo apt-get install -y libffi-dev libbz2-dev libffi-dev libssl-dev

Они далеко не всегда нужны, но если какая-то понадобится и её нет - придётся переустанавливать Python

Подробнее про библиотеки, которые могут пригодиться читайте ниже в параграфе Makefile

Подробнее про утилиту wget читайте в статье «Скачивание из интернета в Linux»

Ниже вы можете изучить примеры скачивания и установки конкретных версий Python.

Скачать и установить Python 3.11.3

wget https://www.python.org/ftp/python/3.11.3/Python-3.11.3.tgz ; tar xvzf Python-3.11.3.tgz ; cd Python-3.11.3 ; ./configure ; sudo make install

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

alias python="/usr/local/bin/python3.11"

Скачать и установить Python 3.9.1

wget https://www.python.org/ftp/python/3.9.1/Python-3.9.1.tgz ; tar xvzf Python-3.9.1.tgz ; cd Python-3.9.1 ; ./configure ; sudo make install

Установка Python 3.9.13 в CentOS7

sudo yum -y install gcc zlib-devel zlib bzip2-devel libffi-devel openssl-devel wget make
wget https://www.python.org/ftp/python/3.9.13/Python-3.9.13.tgz ; tar xvzf Python-3.9.13.tgz ; cd Python-3.9.13 ; ./configure ; sudo make install

pyenv: установка нескольких разных версий

Про установку разных версий python на одну систему, управление этими версиями и виртуальными окружениями в них - читайте статью pyenv

Установка Pip

sudo apt update
sudo apt install python3-pip
pip3 --version

pip 18.1 from /usr/lib/python3/dist-packages/pip (python 3.7)

Про pip

Библиотеки лежат в /home/andrei/.local/lib

ls -la /home/andrei/.local/lib

total 0
drwx------ 0 andrei andrei 512 Mar 20 16:41 .
drwx------ 0 andrei andrei 512 Mar 19 13:31 ..
drwx------ 0 andrei andrei 512 Mar 19 13:19 python2.7
drwx------ 0 andrei andrei 512 Mar 20 15:01 python3.5

Пример Make файла для установки рабочего окружения

.PHONY: preinstall-env preinstall-env: @sudo apt -y update @sudo apt -y upgrade @sudo apt-get install -y build-essential libssl-dev zlib1g-dev \ libbz2-dev libreadline-dev libsqlite3-dev libffi-dev \ wget llvm \ libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev \ liblzma-dev curl git @curl https://pyenv.run | bash # substitute for # curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash @echo "# Pyenv Config" >> ~/.bashrc @echo 'export PYENV_ROOT="$$HOME/.pyenv"' >> /home/$$(whoami)/.bashrc @echo 'export PATH="$$PYENV_ROOT/bin:$$PATH"' >> /home/$$(whoami)/.bashrc @echo 'eval "$$(pyenv init --path)"' >> /home/$$(whoami)/.bashrc @echo 'eval "$$(pyenv virtualenv-init -)"' >> /home/$$(whoami)/.bashrc

В .bashrc будет прописано

# PyEnv Configuration export PYENV_ROOT="$HOME/.pyenv" export PATH="$PYENV_ROOT/bin:$PATH" eval "$(pyenv init --path)" eval "$(pyenv virtualenv-init -)"

Перезапустить shell можно выполнив

exec "$SHELL"

Related Articles
Установка Python
Python
Linux
wget
make

Search on this site

Subscribe to @aofeed channel for updates

Visit Channel

@aofeed

Feedbak and Questions in Telegram

@aofeedchat