Автоматизация развертывания Python-скриптов

Практические лайфхаки для разработчиков, DevOps и админов: Docker, Linux, Bash, Python, Golang, Ansible, логи и безопасность — только рабочие решения. Даем готовые команды, конфиги и приёмы диагностики, которые экономят часы и дни. Если нужно быстро настроить, отладить и обезопасить инфраструктуру — вы по адресу.

pythonvenvvirtualenv

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

📝 Пример автоматизации развертывания виртуального окружения и установки зависимостей:

import os
import subprocess

def create_virtualenv(project_path):
    venv_path = os.path.join(project_path, 'venv')
    # Проверяем, существует ли окружение
    if not os.path.exists(venv_path):
        subprocess.check_call(['python3', '-m', 'venv', venv_path])
        print(f"Создано виртуальное окружение в {venv_path}")
    else:
        print(f"Виртуальное окружение уже существует в {venv_path}")

def install_requirements(project_path):
    requirements_path = os.path.join(project_path, 'requirements.txt')
    if os.path.exists(requirements_path):
        subprocess.check_call([os.path.join(project_path, 'venv', 'bin', 'pip'), 'install', '-r', requirements_path])
        print(f"Установлены зависимости из {requirements_path}")
    else:
        print(f"Файл requirements.txt не найден в {project_path}")

def setup_project(project_path):
    create_virtualenv(project_path)
    install_requirements(project_path)

if __name__ == \"__main__\":
    project_path = '/path/to/your/project'
    setup_project(project_path)

📌 Как это работает:

  • Скрипт проверяет наличие виртуального окружения в указанной директории.
  • Если окружение не существует, оно автоматически создается с помощью python3 -m venv.
  • После этого скрипт устанавливает зависимости, указанные в файле requirements.txt, активируя созданное окружение.

❗️ Такой подход позволяет полностью автоматизировать подготовку рабочей среды для Python-проектов, что особенно полезно при настройке CI/CD пайплайнов и когда нужно обеспечить одинаковые окружения для разных разработчиков или серверов.

tags: #python #автоматизация

🧭 @recura_tech 🌐 VK 🌐 MAX

Скриншот с кодом Python‑скрипта для автоматического создания виртуального окружения venv и установки зависимостей из requirements.txt, тёмная тема.
Скриншот: пример скрипта для создания venv и установки зависимостей.

Читайте так же