44 lines
1.1 KiB
Batchfile
44 lines
1.1 KiB
Batchfile
@echo off
|
|
setlocal ENABLEDELAYEDEXPANSION
|
|
|
|
set "FORCE_RECREATE=0"
|
|
if /I "%~1"=="--recreate" set "FORCE_RECREATE=1"
|
|
|
|
for %%i in ("%~dp0..") do set "PROJECT_ROOT=%%~fi"
|
|
set "VENV_DIR=%PROJECT_ROOT%\.offline-venv"
|
|
set "WHEELHOUSE=%PROJECT_ROOT%\dist\wheelhouse"
|
|
|
|
if not exist "%WHEELHOUSE%" (
|
|
echo Wheelhouse directory not found: "%WHEELHOUSE%"
|
|
exit /b 1
|
|
)
|
|
|
|
if exist "%VENV_DIR%" (
|
|
if "%FORCE_RECREATE%"=="1" (
|
|
echo Removing existing virtual environment "%VENV_DIR%" ...
|
|
rmdir /S /Q "%VENV_DIR%"
|
|
)
|
|
)
|
|
|
|
if not exist "%VENV_DIR%" (
|
|
echo Creating virtual environment...
|
|
python -m venv "%VENV_DIR%"
|
|
if errorlevel 1 exit /b 1
|
|
)
|
|
|
|
set "PYTHON_PATH=%VENV_DIR%\Scripts\python.exe"
|
|
if not exist "%PYTHON_PATH%" (
|
|
echo Python executable not found: "%PYTHON_PATH%"
|
|
exit /b 1
|
|
)
|
|
|
|
"%PYTHON_PATH%" -m pip install --no-index --find-links "%WHEELHOUSE%" -r "%PROJECT_ROOT%\requirements.txt"
|
|
if errorlevel 1 exit /b 1
|
|
|
|
echo Offline virtual environment is ready.
|
|
echo To start the application run:
|
|
echo call "%VENV_DIR%\Scripts\activate.bat"
|
|
echo uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload
|
|
|
|
endlocal
|