73 lines
1.6 KiB
Batchfile
73 lines
1.6 KiB
Batchfile
@echo off
|
|
SETLOCAL EnableExtensions
|
|
|
|
SET "BASE_DIR=%~dp0"
|
|
cd /d "%BASE_DIR%"
|
|
|
|
:: --- CONFIGURATION ---
|
|
SET "APPNAME=testium"
|
|
SET "VENV_DIR=%BASE_DIR%test\tmp\%APPNAME%_venv"
|
|
SET "PYTHON_EXE=python"
|
|
SET "SCRIPT_NAME=src\%APPNAME%"
|
|
SET "REQUIREMENTS=src\requirements.txt"
|
|
|
|
echo [1/4] Verification of Python...
|
|
|
|
py --version >nul 2>&1
|
|
IF %ERRORLEVEL% EQU 0 (
|
|
SET "PYTHON_EXE=py"
|
|
goto :PYTHON_FOUND
|
|
)
|
|
|
|
python --version >nul 2>&1
|
|
IF %ERRORLEVEL% EQU 0 (
|
|
SET "PYTHON_EXE=python"
|
|
goto :PYTHON_FOUND
|
|
)
|
|
|
|
:: If we reach here, python could not be found
|
|
echo.
|
|
echo ###########################################################
|
|
echo ERROR : Python could not be found on this system.
|
|
echo ###########################################################
|
|
pause
|
|
exit /b
|
|
|
|
:PYTHON_FOUND
|
|
|
|
set "IS_VENV=false"
|
|
:: --- VENV creation ---
|
|
if not exist "%VENV_DIR%" (
|
|
echo [2/4] Virtual environment creation...
|
|
%PYTHON_EXE% -m venv %VENV_DIR%
|
|
if %ERRORLEVEL% neq 0 (
|
|
echo ERROR while creating the venv.
|
|
pause
|
|
exit /b
|
|
)
|
|
) else (
|
|
set "IS_VENV=true"
|
|
echo [2/4] Virtual environment already here.
|
|
)
|
|
|
|
:: --- ACTIVATION AND DEPENDANCES ---
|
|
echo [3/4] Activation of the venv and installation of dependencies...
|
|
call "%VENV_DIR%\Scripts\activate"
|
|
|
|
if "%IS_VENV%"=="false" (
|
|
if exist "%BASE_DIR%%REQUIREMENTS%" (
|
|
pip install --upgrade pip
|
|
pip install -r "%BASE_DIR%%REQUIREMENTS%"
|
|
) else (
|
|
echo Info : No '%REQUIREMENTS%' file found, dependencies ignored.
|
|
)
|
|
)
|
|
|
|
:: --- Application launching ---
|
|
echo [4/4] Launch of %APPNAME%...
|
|
python "%BASE_DIR%%SCRIPT_NAME%"
|
|
|
|
:: --- FIN ---
|
|
echo.
|
|
echo %APPNAME% finished
|
|
deactivate |