Какое окружение нужно на Linux для Python?

«Какое окружение нужно на Linux для Python?» — вопрос из категории Linux и командная строка, который задают на 24% собеседований AQA / Automation. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Для работы с Python в контексте автоматизации тестирования на Linux я настраиваю следующее окружение:

1. Базовые компоненты:

# Обновление пакетного менеджера и установка Python3 и pip
sudo apt update
sudo apt install -y python3 python3-pip python3-venv

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

# Создание виртуального окружения в директории проекта
python3 -m venv .venv

# Активация окружения
source .venv/bin/activate

# После активации приглашение командной строки обычно меняется
# Установка пакетов теперь происходит внутри этого изолированного окружения

3. Установка ключевых пакетов для QA Automation:

# Менеджер зависимостей и фреймворк для тестирования
pip install pytest

# Библиотеки для веб-автоматизации (на выбор)
pip install selenium
# или
pip install playwright
playwright install  # Установка браузеров

# Для работы с API
pip install requests

# Для генерации отчетов
pip install pytest-html allure-pytest

4. Организация проекта: Создаю стандартную структуру каталогов для автотестов:

project/
├── .venv/              # Виртуальное окружение (в .gitignore)
├── tests/              # Директория с тестами
│   ├── conftest.py     # Фикстуры pytest
│   └── test_login.py
├── pages/              # Page Object Model
├── utils/              # Вспомогательные утилиты
├── requirements.txt    # Зависимости проекта
└── pytest.ini         # Конфигурация pytest

5. requirements.txt: Фиксирую версии всех зависимостей для воспроизводимости.

pytest==7.4.0
selenium==4.11.0
requests==2.31.0
pytest-html==4.0.0

Такое окружение позволяет быстро развернуть среду для написания и запуска автотестов на любой машине с Linux.