Подробный гайд по развёртыванию среды разработки Python 3.12 на CentOS 7 - Часть 3

Подробный гайд по развёртыванию среды разработки Python 3.12 на CentOS 7: сборка OpenSSL 1.1.1, создание venv, настройка линтеров и подключение IDE.

2026.10.02                  


Подробный гайд по развёртыванию среды разработки Python 3.12 на CentOS 7 - Часть 3Подробный гайд по развёртыванию среды разработки Python 3.12 на CentOS 7 - Часть 3

13. Правильная работа с зависимостями

Внутри активированного окружения используйте:

Установка пакета:

pip install package_name

Сохранение зависимостей:

pip freeze > requirements.txt

Установка зависимостей из файла:

pip install -r requirements.txt

Проверка установленных пакетов:

pip list

Проверка целостности зависимостей:

pip check

14. Файл .gitignore

Если используете Git, сразу создайте .gitignore:



cat > .gitignore <<'EOF'
.venv/
__pycache__/
*.pyc
*.pyo
.env
.pytest_cache/
.ruff_cache/
.mypy_cache/
EOF

15. Переменные окружения и секреты

Секреты лучше хранить в файле .env, а не в коде.

Создайте файл:

cat > .env <<'EOF'
SECRET_KEY=change-me
DEBUG=false
EOF

Убедитесь, что .env добавлен в .gitignore.

Для чтения переменных окружения в Python можно использовать python-dotenv:

pip install python-dotenv

Пример:

import os
from dotenv import load_dotenv

load_dotenv()

secret = os.getenv("SECRET_KEY")
print(secret)

16. Альтернативный вариант: pyenv

Если вам нужно несколько версий Python одновременно, лучше использовать pyenv.

Установите pyenv:

curl -fsSL https://pyenv.run | bash

Добавьте инициализацию в ~/.bashrc:

cat >> ~/.bashrc <<'EOF'
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv init -)"
EOF

Примените изменения:

exec $SHELL

Или просто выйдите и зайдите заново.

Проверьте:

pyenv --version

Установите нужную версию Python с использованием собранного OpenSSL:

CONFIGURE_OPTS="--with-openssl=/usr/local/openssl-1.1.1" pyenv install 3.12.7

Сделайте её версией по умолчанию:

pyenv global 3.12.7

Проверьте:

python --version
python -c "import ssl; print(ssl.OPENSSL_VERSION)"

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

cd ~/projects/demo
pyenv local 3.12.7

При этом появится файл:

.python-version

Виртуальные окружения можно создавать так же:

python -m venv .venv
source .venv/bin/activate

17. Установка инструментов разработки

Есть два подхода.


17.1. Установка инструментов внутри окружения проекта

Активируйте окружение проекта:

cd ~/projects/demo
source .venv/bin/activate

Установите инструменты:

pip install pytest ruff black mypy

Плюс:

  • всё изолировано внутри проекта.

Минус:

  • нужно повторять для каждого проекта.

17.2. Отдельное окружение для инструментов

Создайте отдельное окружение:

python3 -m venv ~/venvs/tools
source ~/venvs/tools/bin/activate

Обновите pip:

python -m pip install --upgrade pip setuptools wheel

Установите инструменты:

pip install ruff black mypy pytest pytest-cov pre-commit

Выйдите из окружения:

deactivate

Запускать программы можно так:

~/venvs/tools/bin/ruff check .
~/venvs/tools/bin/black .
~/venvs/tools/bin/mypy .
~/venvs/tools/bin/pytest

Для удобства можно добавить алиасы в ~/.bashrc:

cat >> ~/.bashrc <<'EOF'
alias ruff='~/venvs/tools/bin/ruff'
alias black='~/venvs/tools/bin/black'
alias mypy='~/venvs/tools/bin/mypy'
alias pytest='~/venvs/tools/bin/pytest'
EOF

Примените:

source ~/.bashrc

Мы делимся этой технической информацией, чтобы помочь вам в решении задач — используйте её с пониманием. Статья носит рекомендательный характер, поэтому, пожалуйста, применяйте описанные методы осмотрительно.


Статью подготовил: Аверко Денис Сергеевич @Nymexis г. Омск (специалист по ЗИ)

Комментарии

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