Этот bash-скрипт автоматизирует процесс настройки окружения и запуска Python-скриптов с использованием виртуального окружения.
- Автоматическое определение директории скрипта
- Проверка наличия Python 3 в системе
- Проверка существования указанного Python-скрипта
- Создание виртуального окружения venv (если отсутствует)
- Автоматическая активация виртуального окружения
- Установка зависимостей из requirements.txt (если файл существует)
- Запуск указанного Python-скрипта
- Корректное завершение работы с сохранением кода выхода
Поместите файл bash_python.sh в корневую директорию вашего проекта вместе с:
- Python-скриптом, который нужно запускать
- Файлом
requirements.txt(опционально, для зависимостей)
Отредактируйте строку в скрипте:
PYTHON_SCRIPT="MY_PYTHON_.py" # Замените на имя вашего скриптаЗамените MY_PYTHON_.py на имя вашего основного Python-файла.
Сделайте скрипт исполняемым и запустите его:
chmod +x bash_python.sh
./bash_python.shваш-проект/
├── bash_python.sh # Этот скрипт
├── main.py # Основной Python-скрипт (или ваше имя)
├── requirements.txt # Зависимости (опционально)
├── venv/ # Виртуальное окружение (создается автоматически)
└── другие файлы проекта...
- Операционная система: Linux, macOS или WSL (Windows Subsystem for Linux)
- Установленный Python 3
- Доступ в интернет для установки зависимостей (при наличии requirements.txt)
- При первом запуске создается виртуальное окружение
venvв текущей директории - При последующих запусках используется существующее виртуальное окружение
- Все зависимости устанавливаются только в виртуальное окружение
- Код выхода Python-скрипта передается в качестве кода выхода bash-скрипта
- Скрипт не требует прав суперпользователя для работы
- Не изменяйте вручную файлы внутри директории
venv/ - Файл
requirements.txtдолжен находиться в той же директории, что и скрипт - Убедитесь, что у вас есть права на выполнение скрипта
Если вы хотите запускать разные Python-скрипты, вы можете модифицировать скрипт для принятия имени файла в качестве аргумента:
# Замените строку объявления PYTHON_SCRIPT на:
PYTHON_SCRIPT="${1:-MY_PYTHON_.py}"Тогда вы сможете запускать скрипт так:
./bash_python.sh другой_скрипт.pyСкрипт предоставляется как есть. Вы можете свободно модифицировать и использовать его для своих проектов.