Tan Shuai

Electron Build Tools ERROR Error: Failed to run "choco install pywin32 --yes"

Programvareutvikling

Når du arbeider med Electron Build Tools, kan det oppstå en feil knyttet til installasjonen av pywin32 via Chocolatey. Dette kan være frustrerende, spesielt når det er en nødvendig avhengighet for prosjektet ditt. Nedenfor er en detaljert forklaring av problemet og potensielle trinn for å løse det.

Feilen

Når du initialiserer et Electron-prosjekt ved hjelp av Electron Build Tools, kan du se følgende feilmelding:

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)

Denne feilen oppstår vanligvis fordi installasjonsskriptet for pywin32-pakken ikke kan finne de nødvendige filene på den eksterne serveren. Dette resulterer i en 404-feil som indikerer at filen ikke er tilgjengelig på den angitte URL-en.

Forstå feilen

Den viktigste delen av feilmeldingen er:

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."

Dette indikerer at nedlastings-URL-en for pywin32 ikke lenger er gyldig, noe som betyr at Chocolatey ikke kan hente de nødvendige installasjonsfilene.

Feilsøkingstrinn

Her er noen trinn du kan ta for å løse dette problemet:

1. Verifiser Chocolatey-installasjonen

Sørg for at Chocolatey er installert riktig og oppdatert til den nyeste versjonen. Du kan sjekke Chocolatey-versjonen din med:

choco --version

For å oppdatere Chocolatey, bruk:

choco upgrade chocolatey

2. Installer pywin32 manuelt

Siden den automatiserte installasjonen mislykkes, kan du prøve å installere pywin32 manuelt. Du kan laste ned riktig versjon fra den offisielle pywin32 GitHub-utgivelsessiden og installere den manuelt.

3. Endre installasjonsskriptet

Hvis du har kontroll over Electron Build Tools-skriptet, kan du endre det til å peke til en gyldig URL for pywin32 eller håndtere den manuelle installasjonsprosessen.

4. Bruk en alternativ pakkebehandler

Hvis Chocolatey fortsatt feiler, vurder å bruke en alternativ pakkebehandler som pip for Python-pakker:

pip install pywin32

Eksempel på manuell installasjon av pywin32

  1. Last ned riktig pywin32-installer fra offisielle GitHub-utgivelser.
  2. Kjør installasjonsprogrammet og følg installasjonsinstruksjonene.
  3. Verifiser installasjonen ved å kjøre et enkelt Python-skript som importerer pywin32:
import win32api
print(win32api.GetVersionEx())

Å møte feilen "Failed to run choco install pywin32 --yes" kan være en hindring i utviklingsprosessen. Men ved å forstå årsaken og følge trinnene beskrevet ovenfor, kan du overvinne dette problemet og fortsette med oppsettet av Electron-prosjektet ditt.