Подробный гайд по развёртыванию среды разработки 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
Мы делимся этой технической информацией, чтобы помочь вам в решении задач — используйте её с пониманием. Статья носит рекомендательный характер, поэтому, пожалуйста, применяйте описанные методы осмотрительно.