# Python 3. Установка и настройка виртуальной среды на CentOS 8

Python — один из самых популярных объектно-ориентированных языков программирования. Его можно использовать для решения широкого спектра задач — от веб-разработки до машинного обучения.

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

В этой инструкции мы рассмотрим установку третьей версии Python на VPS под управлением CentOS 8. Мы рассмотрим два варианта установки Python, установим необходимые для полноценной работы модули и создадим первое виртуальное окружение.

Нам понадобится только подготовленный к работе VPS под управлением CentOS 8.

# Подготовка к установке

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

Начнём работу с обновления списка доступных для установки пакетов:

sudo dnf update

Установим программный пакет «Development tools» с помощью команды groupinstall. Эта команда сразу установит все инструменты, входящие в указанную библиотеку:

sudo dnf groupinstall “Development Tools”

При желании в конце строки можно добавить флаг -y, отвечающий за автоматическое согласие на все предложенные вопросы. Если этого флага нет, то перед установкой dnf проинформирует вас о том, какой пакет будет установлен и сколько дискового пространства это займёт.

Библиотека «Development Tools» содержит больше десятка дополнительных модулей, расширяющих функционал базовой версии Python.

Дополнительно установим модуль для криптографической защиты наших скриптов openssl-devel, библиотеку для компиляции других языков программирования в компиляторе Python libffi-devel и архиватор bzip2-devel:

sudo dnf install openssl-devel libffi-devel bzip2-devel

После завершения установки компонентов можно переходить к установке Python.

# Установка Python

Устанавливать Python можно двумя способами: из стандартных репозиториев операционной системы (apt или dnf в зависимости от типа ОС) или с официального сайта разработчика.

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

Мы рассмотрим оба варианта.

# Установка с помощью dnf

Из официального репозитория Linux Python устанавливается стандартной командой:

sudo dnf install python3

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

python3 --version

# Output
Python 3.6.8

# Установка Python с официального сайта

При установке Python с официального сайта можно выбрать нужную версию. На странице доступных версий (opens new window) представлены все версии Python, начиная с Python 2.0.1. Выберите интересующую вас и скопируйте ссылку на .tgz файл.

Теперь скачаем файл с архивом на сервер:

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

После скачивания распакуем архив и перейдём в распакованную папку:

sudo tar xvf Python-3.10.3.tgz
cd Python-3.10.3

Теперь подготовим Python к установке:

sudo ./configure --enable-optimizations

После того как скрипт отработает, перейдём к установке Python:

sudo make altinstall

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

python3 --version

Версия должна соответствовать той, которую вы скачивали.

# Установка пакетного менеджера Python

Для установки дополнительных модулей в Python есть встроенный пакетный менеджер PIP. Он автоматически ставится вместе с Python, но если по какой-то причине он не установился, это можно сделать вручную:

sudo dnf install python3-pip

После этого можно проверить доступную версию Python:

pip3.10 --version

Дополнительные модули устанавливаются командой:

sudo pip install module-name

Список уже установленных модулей можно посмотреть командой:

pip3.10 list

# Настройка виртуальной среды для работы Python

Виртуальная среда — это отдельное окружение со всеми необходимыми зависимостями, создающееся для каждого нового проекта Python. Проект существует внутри собственного виртуального окружения и не нарушает целостность других проектов. Это очень удобно, когда на машине находится несколько проектов.

Формально виртуальная среда — это отдельная директория. Создадим нашу первую виртуальную среду!

Для этого создадим новую директорию, перейдём в неё и инициируем её в качестве виртуального окружения:

sudo mkdir -p /projects/environment
cd projects/environment
python3 -m venv new_env

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

ls

# Output
bin  include  lib  lib64  pyvenv.cfg

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

Для начала работы с окружением активируем его:

sudo source new_env/bin/activate

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

(new_env) [User@localhost new_env]$

Это означает, что теперь работа ведётся внутри виртуального окружения. Программы, которые мы будем создавать, будут работать внутри именно этого виртуального окружения.

# Первая программа

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

Для этого создадим текстовый файл:

(new_env) [User@localhost new_env]$ sudo vi hello.py

Файл будет содержать простое указание о выводе в консоль текста:

print(“Hello, World!”)

Сохраняем наш новый файл и закрываем его.

Готово! Теперь можно проверять его работу:

(new_env) [User@localhost new_env]$ python hello.py

# Output
Hello, World!