53 lines
1.6 KiB
Batchfile
53 lines
1.6 KiB
Batchfile
@echo off
|
|
setlocal enabledelayedexpansion
|
|
|
|
REM Set file paths
|
|
set ROOT_DIR=%~dp0..
|
|
set CONFIG_DIR=%ROOT_DIR%\config
|
|
set CONFIG_FILE=%ROOT_DIR%\config.json
|
|
set REQUIREMENTS=%CONFIG_DIR%\requirements.txt
|
|
set ENV_FILE=%ROOT_DIR%\.env
|
|
|
|
REM Extract config.json fields using PowerShell
|
|
for /f "delims=" %%i in ('powershell -NoProfile -Command ^
|
|
"Get-Content '%CONFIG_FILE%' | ConvertFrom-Json | Select-Object -ExpandProperty architecture"') do set ARCHITECTURE=%%i
|
|
|
|
REM Use the Python interpreter provided by the environment
|
|
set PYTHON_EXEC=python
|
|
if exist "%ENV_FILE%" (
|
|
for /f "usebackq tokens=1,* delims==" %%A in ("%ENV_FILE%") do if /I "%%A"=="PYTHON_PATH" set "PYTHON_EXEC=%%B"
|
|
)
|
|
|
|
REM Construct python executable path
|
|
set ENV_NAME=WINenv_%ARCHITECTURE%
|
|
set ENV_PATH=%CONFIG_DIR%\%ENV_NAME%
|
|
|
|
"%PYTHON_EXEC%" --version >nul 2>&1
|
|
if errorlevel 1 (
|
|
echo [ERROR] Python introuvable dans le PATH.
|
|
echo Veuillez vérifier l'environnement Python fourni par Docker.
|
|
exit /b 1
|
|
)
|
|
|
|
REM Show config info
|
|
echo [INFO] Configuration :
|
|
echo Python: %PYTHON_EXEC%
|
|
echo Env: %ENV_NAME%
|
|
|
|
REM Check if virtual environment exists
|
|
if not exist "%ENV_PATH%\Scripts" (
|
|
echo [INFO] Environnement virtuel introuvable, création...
|
|
"%PYTHON_EXEC%" -m venv "%ENV_PATH%"
|
|
echo [INFO] Installation des dépendances...
|
|
"%ENV_PATH%\Scripts\python" -m pip install --upgrade pip
|
|
"%ENV_PATH%\Scripts\pip" install -r "%REQUIREMENTS%"
|
|
) else (
|
|
echo [INFO] Environnement virtuel trouvé.
|
|
)
|
|
REM Activate and launch VS Code
|
|
echo [INFO] Lancement de VS Code...
|
|
call "%ENV_PATH%/Scripts/activate.bat"
|
|
start code "%ROOT_DIR%"
|
|
|
|
exit /b 0
|