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
, а вместо pip3
— pip
.
Воспользуйтесь функцией 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.