CadHubManage/scripts/setup_offline_env.bat
2025-12-19 17:21:53 +08:00

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