From 787dbfb0ebe5f27997ae269906109ddac4a46ceb Mon Sep 17 00:00:00 2001 From: Dom Date: Tue, 16 Jun 2026 18:16:04 +0200 Subject: [PATCH] fix(installer): configure_embed saute pip si deps deja embarquees (install offline) Quand l'embed est livre complet (socketio + tkinter pre-embarques), le bootstrap get-pip.py + pip install echouait hors-ligne. Ajout d'un guard : si 'import socketio, tkinter' OK -> on saute pip (offline). Mode online legacy conserve si embed nu. Co-Authored-By: Claude Opus 4.8 (1M context) --- deploy/installer/configure_embed.ps1 | 37 +++++++++++++++++----------- 1 file changed, 23 insertions(+), 14 deletions(-) diff --git a/deploy/installer/configure_embed.ps1 b/deploy/installer/configure_embed.ps1 index 28e85d13b..5a28361c6 100644 --- a/deploy/installer/configure_embed.ps1 +++ b/deploy/installer/configure_embed.ps1 @@ -40,23 +40,32 @@ if ($PthFile) { } # --------------------------------------------------------------- -# 2. Installer pip (bootstrap via get-pip.py) +# 2-3. Dependances Python +# Si l'embed est livre complet (deps + tkinter pre-embarques), +# on saute le bootstrap pip / install : INSTALL HORS-LIGNE possible. +# Sinon (embed nu), on bootstrap pip + installe requirements (mode online). # --------------------------------------------------------------- -$GetPip = Join-Path $env:TEMP "get-pip.py" -Write-Host " Telechargement de get-pip.py..." -Invoke-WebRequest -Uri "https://bootstrap.pypa.io/get-pip.py" -OutFile $GetPip -UseBasicParsing +$DepsOk = $false +& $PythonExe -c "import socketio, tkinter" 2>$null +if ($LASTEXITCODE -eq 0) { $DepsOk = $true } -Write-Host " Installation de pip..." -& $PythonExe $GetPip --no-warn-script-location -Remove-Item $GetPip -Force +if ($DepsOk) { + Write-Host " Dependances deja embarquees (socketio + tkinter) - pip saute (offline OK)." +} else { + # Bootstrap pip (necessite internet) + $GetPip = Join-Path $env:TEMP "get-pip.py" + Write-Host " Telechargement de get-pip.py..." + Invoke-WebRequest -Uri "https://bootstrap.pypa.io/get-pip.py" -OutFile $GetPip -UseBasicParsing -# --------------------------------------------------------------- -# 3. Installer les dependances -# --------------------------------------------------------------- -$Requirements = Join-Path $AppDir "requirements_agent.txt" -if (Test-Path $Requirements) { - Write-Host " Installation des dependances Python..." - & $PythonExe -m pip install --no-warn-script-location -r $Requirements + Write-Host " Installation de pip..." + & $PythonExe $GetPip --no-warn-script-location + Remove-Item $GetPip -Force + + $Requirements = Join-Path $AppDir "requirements_agent.txt" + if (Test-Path $Requirements) { + Write-Host " Installation des dependances Python..." + & $PythonExe -m pip install --no-warn-script-location -r $Requirements + } } # ---------------------------------------------------------------