Установка и настройка среды разработки Python 3 в CentOS 7

Python — это гибкий и универсальный язык программирования, который является отличным решением для реализации сценариев автоматизации, анализа данных, машинного обучения и веб-разработки. Из этой статьи вы узнаете, как установить Python3 и настроить среду виртуального окружения (VENV) в CentOS 7.

Предварительные требования

Для работы вам понадобится сервер CentOS 7 с базовыми настройками.

Обновление программного обеспечения

В системе CentOS 7 Python 3 и Python 2 должны быть сразу установлены, поэтому на первом шаге достаточно выполнить обновление пакетов. Войдите на сервер и обновите пакеты с помощью YUM:

sudo yum update -y python36 python2

Флаг –y автоматически подтвердит любые запросы системы.

Если в вашей системе не установлен Python 2.7 или Python 3.6, то установить их можно с помощью следующих команд:

sudo yum install -y python2
sudo yum install -y python36

Проверка версии Python

Проверьте версию Python 3 с помощью следующей команды:

python3 -V

В ответе вы увидите номер текущей версии, например:

Python 3.6.8

Установка pip

Чтобы управлять программными пакетами Python, установите pip — инструмент, который помогает устанавливать необходимые для проекта библиотеки и модули и управлять ими.

sudo yum install -y python3-pip

Теперь вы можете устанавливать пакеты Python3 с помощью pip:

pip3 install имя_пакета

Вместо имя_пакета укажите имя любого пакета или библиотеки Python, например, Django для веб-разработки или NumPy для научных вычислений. Например, для установки NumPy введите pip3 install numpy.

Установка дополнительных инструментов

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

sudo yum groupinstall -y "Development Tools" "Development Libraries"
sudo yum install -y python3-devel

Установка venv (Virtual Environment)

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

Мы будем использовать модуль venv, часть стандартной библиотеки Python 3, который можно установить с помощью:

sudo yum install -y python36-virtualenv

Создание виртуальной среды для приложения

Создать новую среду можно с помощью модуля venv. В примере ниже мы назовем новую среду env, вы можете указать любое желаемое название.

mkdir myapp && cd myapp
python3 -m venv env

Активация окружения виртуальной среды

Активируйте виртуальную среду с помощью приведенной ниже команды, где env — это имя вашего окружения разработки.

source env/bin/activate

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

(env) netpoint@ubuntu:~/myapp$

Тестирование виртуальной среды

Запустите интерпретатор Python:

(env) netpoint@ubuntu:~/myapp$ python

Помните, что в виртуальной среде Python 3 вместо команды python3 можно использовать python, а вместо pip3pip.

Воспользуйтесь функцией print(), чтобы создать стандартную программу «Hello, World»:

Python 3.6.5 (default, Apr  1 2018, 05:46:30
[GCC 7.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> print("Hello, World!")
Hello, World!

>>> quit()

Деактивация виртуальной среды

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

(env) netpoint@ubuntu:~/myapp$ deactivate

Использование в приложениях (shebang)

Очень важно в приложениях изменить полный путь #!/usr/bin/python3 на #!/usr/bin/env python. Это позволит выбирать правильный транслятор, независимо от того, выполняется ли скрипт в рамках venv и или в системном окружении. Если вы оставляете путь #!/usr/bin/python3, всегда будет использоваться системный интерепретатор, чувствительный к изменению среды.

Автоматическая активация виртуальной среды при запуске приложения

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

Подготовим скрипт myapp/run.sh для запуска приложения service.py в рамках виртуального окружения со следующим содержимым:

#!/usr/bin/env bash

BASEDIR=$(dirname "$0")
echo "Executing App in '$BASEDIR'"

PORT=$1

source $BASEDIR/env/bin/activate

python $BASEDIR/service.py $PORT

Установим права на исполнение и протестируем его запуск:

chmod +x myapp/run.sh
./myapp/run.sh 8888

Заключение

Изолированная виртуальная среда разработки Python создана, можно приступать к разработке на python.