requirements.txt installait mlx-whisper sans condition : l'installation aurait echoue sur Windows, ou ce paquet n'existe pas. Et pyobjc n'y figurait PAS DU TOUT alors que l'overlay macOS en depend — une installation neuve sur un autre Mac aurait produit une Zonza qui ne demarre pas. Les marqueurs retiennent 13 paquets sur Apple Silicon, 12 sur Mac Intel, 8 sur Windows. install.sh construit l'app et lance le diagnostic. install.ps1 pose le lancement au demarrage via pythonw (sans quoi une console resterait ouverte) et lance le diagnostic. Ce dernier porte un avertissement : il n'a jamais tourne sur Windows. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
67 lines
2.8 KiB
PowerShell
67 lines
2.8 KiB
PowerShell
# Installe Zonza sur Windows.
|
|
#
|
|
# powershell -ExecutionPolicy Bypass -File .\install.ps1
|
|
#
|
|
# Cree l'environnement, installe UNIQUEMENT ce qui sert a Windows (les marqueurs
|
|
# de requirements.txt ecartent MLX et pyobjc), pose le lancement au demarrage,
|
|
# puis lance le diagnostic.
|
|
#
|
|
# AVERTISSEMENT D'HONNETETE : ce script n'a JAMAIS ete execute sur une machine
|
|
# Windows. Il a ete ecrit depuis un Mac, d'apres la documentation. Le diagnostic
|
|
# de la derniere etape est justement la pour dire ce qui marche et ce qui casse.
|
|
|
|
$ErrorActionPreference = "Stop"
|
|
Set-Location -Path $PSScriptRoot
|
|
|
|
Write-Host "-> Verification de Python..."
|
|
$py = Get-Command python -ErrorAction SilentlyContinue
|
|
if (-not $py) { throw "Python introuvable. Installe-le depuis python.org, en cochant 'Add python.exe to PATH'." }
|
|
$version = & python -c "import sys; print('.'.join(map(str, sys.version_info[:3])))"
|
|
Write-Host " Python $version"
|
|
& python -c "import sys; sys.exit(0 if sys.version_info >= (3, 11) else 1)"
|
|
if ($LASTEXITCODE -ne 0) { throw "Python 3.11 minimum requis, trouve $version." }
|
|
|
|
if (-not (Test-Path ".venv")) {
|
|
Write-Host "-> Creation de l'environnement..."
|
|
& python -m venv .venv
|
|
} else {
|
|
Write-Host "-> Environnement deja present, on le reutilise."
|
|
}
|
|
|
|
Write-Host "-> Installation des dependances de CETTE machine..."
|
|
& .\.venv\Scripts\python.exe -m pip install --quiet --upgrade pip
|
|
& .\.venv\Scripts\python.exe -m pip install --quiet -r requirements.txt
|
|
if ($LASTEXITCODE -ne 0) { throw "L'installation des dependances a echoue." }
|
|
|
|
Write-Host "-> Lancement au demarrage..."
|
|
# pythonw.exe : sans lui, une console noire resterait ouverte en permanence.
|
|
$demarrage = [Environment]::GetFolderPath("Startup")
|
|
$raccourci = Join-Path $demarrage "Zonza.lnk"
|
|
$shell = New-Object -ComObject WScript.Shell
|
|
$lien = $shell.CreateShortcut($raccourci)
|
|
$lien.TargetPath = (Resolve-Path ".\.venv\Scripts\pythonw.exe").Path
|
|
$lien.Arguments = '"' + (Resolve-Path ".\lanceur_qt.py").Path + '"'
|
|
$lien.WorkingDirectory = $PSScriptRoot
|
|
$lien.Description = "Zonza - dictee vocale locale"
|
|
$lien.Save()
|
|
Write-Host " $raccourci"
|
|
|
|
Write-Host "-> Diagnostic..."
|
|
& .\.venv\Scripts\python.exe app.py --diagnostic
|
|
if ($LASTEXITCODE -ne 0) {
|
|
Write-Host ""
|
|
Write-Host "Le diagnostic signale un probleme. Rien n'est casse : les lignes"
|
|
Write-Host "ci-dessus disent laquelle des epreuves a echoue."
|
|
exit 1
|
|
}
|
|
|
|
Write-Host ""
|
|
Write-Host "Installe."
|
|
Write-Host ""
|
|
Write-Host "Usage : Ctrl+Alt+D pour demarrer et arreter la dictee."
|
|
Write-Host "Journal : %LOCALAPPDATA%\Zonza\Zonza.log"
|
|
Write-Host "Lancer maintenant, sans redemarrer : .\.venv\Scripts\pythonw.exe lanceur_qt.py"
|
|
Write-Host ""
|
|
Write-Host "Si le raccourci ne repond pas, relance le diagnostic :"
|
|
Write-Host " .\.venv\Scripts\python.exe app.py --diagnostic"
|