
Szenario
In einem automatisierten Installationsverfahren versuche ich zu installieren python3-pip
. Während der manuellen Installation des Paketinstallationsprogramms pip wurde mir jedoch ein violetter Bildschirm angezeigt, der mich zu einem Neustart (der Dienste) aufforderte. Ich konnte manuell „Ja“ auswählen. Während des automatisierten Prozesses, den ich von Powershell aus ausführe, scheint es jedoch bei den folgenden Befehlen „zu hängen“:
[String] $pip = "yes | sudo apt install python3-pip"
Write-Host ("7.2.c pip="+$pip)
$output = bash -c $pip
Die manuelle Installation dauerte maximal 2–3 Minuten, ich habe die automatische Installation nach 12 Minuten (dasselbe Gerät) bei der neuen WSL-Installation abgebrochen. Ich bin mir bewusst, dass die yes |
Pipes ein „Ja“ zu einer herkömmlichen y/n
Eingabeaufforderung senden, und ich hoffte, dass dies auch zur Eingabeaufforderung auf dem violetten Bildschirm weitergeleitet würde y/n
, aber anscheinend ist dies nicht der Fall.
Frage
Wie kann ich python3-pip
mit einem Powershell-Skript automatisch Ubuntu 18.04 auf WSL installieren .ps1
?
Antwort1
Der folgende Code reichte aus, um Pip für Python 3 effektiv auf WSL Ubuntu 18.04 zu installieren:
[String] $update = "yes | sudo apt-get update"
Write-Host ("7.2.c update="+$update)
#$output = bash -c $update
[String] $update = "yes | sudo apt-get install python3-distutils"
Write-Host ("7.2.c update="+$update)
$output = bash -c $update
[String] $pip = "curl -o get-pip.py https://bootstrap.pypa.io/get-pip.py"
Write-Host ("7.2.c pip="+$pip)
$output = bash -c $pip
[String] $pip = "yes | sudo python3 get-pip.py"
Write-Host ("7.2.c pip="+$pip)
$output = bash -c $pip
Der Benutzer muss keine y/n
Eingabeaufforderung auf einem violetten Bildschirm beantworten.