fix(installer): configure_embed saute pip si deps deja embarquees (install offline)
Some checks failed
tests / Lint (ruff + black) (push) Failing after 1m45s
tests / Tests unitaires (sans GPU) (push) Failing after 1m50s
tests / Tests sécurité (critique) (push) Has been skipped

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) <noreply@anthropic.com>
This commit is contained in:
Dom
2026-06-16 18:16:04 +02:00
parent 86b5ec18c6
commit 787dbfb0eb

View File

@@ -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
}
}
# ---------------------------------------------------------------