Установщик проекта на PyPy (сделать выбор+в разработке)

This commit is contained in:
Whyverum
2024-12-23 21:59:53 +07:00
parent 8493cbb76f
commit 8488c3def4

171
start.bat
View File

@@ -1,93 +1,158 @@
@echo off @echo off
REM start.bat REM start.bat
REM Этот файл нужно запускать перед стартом проекта REM Этот файл нужно запускать перед стартом проекта.
REM Он создает локальное окружение, скачивает все зависимости REM Он создает локальное окружение, скачивает все зависимости.
REM Чтобы запустить файл используйте: start start или ./start REM Чтобы запустить файл, используйте: start start или ./start.
REM Включение кодировки для Windows REM Установить кодировку UTF-8 и заголовок для консоли.
chcp 65001 > nul chcp 65001 > nul
title Запуск Бота-aiogram
cls cls
REM Изменяем заголовок окна консоли REM Проверка установки PyPy.
title Запуск Бота-aiogram
REM Убедитесь, что PyPy установлен и доступен
echo Проверка наличия PyPy... echo Проверка наличия PyPy...
pypy --version || ( pypy --version > nul 2>&1 || (
color C color C
echo PyPy не установлен. Установите PyPy и повторите попытку. echo [ОШИБКА]: PyPy не установлен. Установите PyPy и повторите попытку.
echo Установите его по ссылке: https://www.pypy.org/download.html echo Ссылка для установки: https://www.pypy.org/download.html
title Проект - PyPy не установлен! title Проект - PyPy не установлен!
pause pause
exit /b exit /b
) )
echo [OK]: PyPy установлен.
echo. echo.
REM Проверка наличия Git REM Проверка установки Git.
echo Проверка наличия Git... echo Проверка наличия Git...
git --version > nul 2>&1 || ( git --version > nul 2>&1 || (
color C color C
echo Git не установлен. Установите Git и повторите попытку. echo [ОШИБКА]: Git не установлен. Установите Git и повторите попытку.
echo Установите его по ссылке: https://git-scm.com/downloads echo Ссылка для установки: https://git-scm.com/downloads
title Проект - Git не установлен! title Проект - Git не установлен!
pause pause
exit /b exit /b
) )
echo [OK]: Git установлен.
echo. echo.
REM Проверка наличия Git репозитория REM Проверка и инициализация Git репозитория.
if not exist .git ( if not exist .git (
echo Создание Git репозитория... echo Создание Git репозитория...
git init git init > nul
echo Добавление удалённого репозитория... git remote add origin https://github.com/Whyverum/PrimoPearlBot > nul
git remote add origin https://github.com/Whyverum/PrimoPearlBot echo [OK]: Git репозиторий создан и настроен.
) else ( ) else (
echo Удалённый репозиторий уже настроен. echo [OK]: Git репозиторий уже настроен.
) )
echo. echo.
REM Создание .env для хранения токенов REM Создание виртуального окружения, если его еще нет.
echo Создаётся файл .env...
(
echo main_bot_token=Вставьте Токен бота с @BotFather
echo APIKey=Иной ключ-api
echo WebAPIKey=Иной ключ web-api
echo important_id=Иной важный айди
echo secret=Некий секрет
) > .env
echo.
echo Файл .env - успешно создан!
echo Пожалуйста, перейдите в файл и вставьте свои ключи.
pause > Вы готовы продолжить? Нажмите ENTER, чтобы продолжить!
echo.
pause > Вы уверены???Нажмите ENTER, чтобы продолжить!
REM Создание виртуального окружения, если его еще нет
if not exist .venv ( if not exist .venv (
echo Создание виртуального окружения... echo Создание виртуального окружения...
pypy -m venv .venv pypy -m venv .venv > nul
echo. if %errorlevel% neq 0 (
color C
echo [ОШИБКА]: Не удалось создать виртуальное окружение.
pause
exit /b
)
echo [OK]: Виртуальное окружение создано.
) else (
echo [OK]: Виртуальное окружение уже существует.
) )
echo.
REM Активируем виртуальное окружение REM Создание файла .env с вводом данных из консоли в папке .venv.
if not exist .venv\.env (
echo Создаётся файл .env в папке .venv...
set /p main_bot_token=Введите токен бота (main_bot_token):
set /p APIKey=Введите ключ API (APIKey):
set /p WebAPIKey=Введите ключ Web API (WebAPIKey):
set /p important_id=Введите важный ID (important_id):
set /p secret=Введите секретный ключ (secret):
REM Проверяем пустые значения.
if "%main_bot_token%"=="" (
echo [ОШИБКА]: Токен бота не может быть пустым.
pause
exit /b
)
if "%APIKey%"=="" (
echo [ОШИБКА]: Ключ API не может быть пустым.
pause
exit /b
)
if "%WebAPIKey%"=="" (
echo [ОШИБКА]: Ключ Web API не может быть пустым.
pause
exit /b
)
if "%important_id%"=="" (
echo [ОШИБКА]: Важный ID не может быть пустым.
pause
exit /b
)
if "%secret%"=="" (
echo [ОШИБКА]: Секретный ключ не может быть пустым.
pause
exit /b
)
REM Создание файла .env.
(
echo main_bot_token=%main_bot_token%
echo APIKey=%APIKey%
echo WebAPIKey=%WebAPIKey%
echo important_id=%important_id%
echo secret=%secret%
) > .venv\.env
echo [OK]: Файл .env успешно создан в папке .venv!
) else (
echo [OK]: Файл .env уже существует в папке .venv.
)
echo.
REM Активация виртуального окружения.
echo Активация виртуального окружения... echo Активация виртуального окружения...
call .venv\Scripts\activate call .venv\Scripts\activate > nul
echo. if %errorlevel% neq 0 (
color C
REM Установка Poetry, если не установлен echo [ОШИБКА]: Не удалось активировать виртуальное окружение.
echo Проверка наличия Poetry... pause
poetry --version || ( exit /b
echo Установка Poetry...
pip install poetry
) )
echo [OK]: Виртуальное окружение активировано.
echo. echo.
REM Установка зависимостей из poetry.lock и pyproject.toml REM Проверка и установка Poetry.
echo Установка зависимостей... echo Проверка наличия Poetry...
poetry install poetry --version > nul 2>&1 || (
poetry update echo Установка Poetry...
pip install poetry > nul
if %errorlevel% neq 0 (
color C
echo [ОШИБКА]: Не удалось установить Poetry.
pause
exit /b
)
echo [OK]: Poetry успешно установлен.
)
echo [OK]: Poetry установлен.
echo. echo.
REM Очистка консоли перед запуском main.py REM Установка зависимостей.
echo Установка зависимостей проекта...
poetry install > nul
if %errorlevel% neq 0 (
color C
echo [ОШИБКА]: Не удалось установить зависимости.
pause
exit /b
)
echo [OK]: Зависимости установлены.
echo.
REM Очистка консоли перед запуском.
cls cls
pause > Настройте конфигуратор или запустите main.py! echo Все готово! Настройте конфигурацию или запустите main.py.
pause