Electron Build Tools ERROR Error: Failed to run \"choco install pywin32 --yes\"
- Tan Shuai
- Softwareentwicklung
- 08 Sep, 2021
Bei der Arbeit mit Electron Build Tools kann es zu einem Fehler bei der Installation von pywin32 über Chocolatey kommen. Dies kann frustrierend sein, insbesondere wenn es sich um eine erforderliche Abhängigkeit für Ihr Projekt handelt. Im Folgenden finden Sie eine detaillierte Erklärung des Problems und mögliche Schritte zu dessen Behebung.
Der Fehler
Beim Initialisieren eines Electron-Projekts mit Electron Build Tools kann die folgende Fehlermeldung angezeigt werden:
E:\\>e init main-testing -i testing --root=e:/src/electron
WARN A fixable error has occurred
--> A required dependency "pywin32" could not be located, it probably has to be installed.
Do you want build-tools to try fix this for you? [y/n]: y
Running "choco install pywin32 --yes"
ERROR Error: Failed to run "choco install pywin32 --yes"
at spawnSyncWithLog (C:\\Users\\zeeis\\.electron_build_tools\\src\\utils\\deps-check.js:11:11)
at fix (C:\\Users\\zeeis\\.electron_build_tools\\src\\utils\\deps-check.js:39:9)
at maybeAutoFix (C:\\Users\\zeeis\\.electron_build_tools\\src\\utils\\maybe-auto-fix.js:13:3)
at whichAndFix (C:\\Users\\zeeis\\.electron_build_tools\\src\\utils\\which.js:10:5)
at checkPlatformDependencies (C:\\Users\\zeeis\\.electron_build_tools\\src\\utils\\deps-check.js:61:7)
at Object.<anonymous> (C:\\Users\\zeeis\\.electron_build_tools\\src\\e-init.js:165:3)
at Module._compile (internal/modules/cjs/loader.js:1072:14)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1101:10)
at Module.load (internal/modules/cjs/loader.js:937:32)
at Function.Module._load (internal/modules/cjs/loader.js:778:12)
Dieser Fehler tritt typischerweise auf, weil das Installationsskript für das pywin32-Paket die erforderlichen Dateien auf dem Remote-Server nicht finden kann. Dies führt zu einem 404-Fehler, der darauf hinweist, dass die Datei unter der angegebenen URL nicht verfügbar ist.
Verständnis des Fehlers
Der entscheidende Teil der Fehlermeldung lautet:
ERROR: The remote file either doesn't exist, is unauthorized, or is forbidden for url 'http://sourceforge.net/projects/pywin32/files/pywin32/Build%20219/pywin32-219.win-amd64-py3.9.exe/download'. Exception calling "GetResponse" with "0" argument(s): "The remote server returned an error: (404) Not Found."
Dies deutet darauf hin, dass die Download-URL für pywin32 nicht mehr gültig ist, was bedeutet, dass Chocolatey die erforderlichen Installationsdateien nicht abrufen kann.
### Schritte zur Fehlerbehebung
Hier sind einige Schritte, die Sie unternehmen können, um dieses Problem zu lösen:
#### 1. Überprüfen Sie die Chocolatey-Installation
Stellen Sie sicher, dass Chocolatey korrekt installiert und auf die neueste Version aktualisiert ist. Sie können Ihre Chocolatey-Version mit folgendem Befehl überprüfen:
```bash
choco --version
Um Chocolatey zu aktualisieren, verwenden Sie:
choco upgrade chocolatey
2. Installieren Sie pywin32 manuell
Da die automatisierte Installation fehlschlägt, versuchen Sie, pywin32 manuell zu installieren. Sie können die entsprechende Version von der offiziellen pywin32 GitHub Releases Seite herunterladen und manuell installieren.
3. Ändern Sie das Installationsskript
Wenn Sie die Kontrolle über das Electron Build Tools-Skript haben, können Sie es so ändern, dass es auf eine gültige URL für pywin32 verweist oder den manuellen Installationsprozess abwickelt.
4. Verwenden Sie einen alternativen Paketmanager
Wenn Chocolatey weiterhin fehlschlägt, ziehen Sie die Verwendung eines alternativen Paketmanagers wie pip für Python-Pakete in Betracht:
pip install pywin32
Beispiel für die manuelle Installation von pywin32
- Laden Sie den passenden pywin32-Installer von den offiziellen GitHub Releases herunter.
- Führen Sie den Installer aus und folgen Sie den Installationsanweisungen.
- Überprüfen Sie die Installation, indem Sie ein einfaches Python-Skript ausführen, das pywin32 importiert:
import win32api
print(win32api.GetVersionEx())
Das Auftreten des Fehlers "Failed to run choco install pywin32 --yes
" kann ein Hindernis in Ihrem Entwicklungsprozess darstellen. Indem Sie jedoch die Ursache verstehen und die oben beschriebenen Schritte befolgen, können Sie dieses Problem überwinden und mit der Einrichtung Ihres Electron-Projekts fortfahren.