Strumenti di Build di Electron ERRORE Errore: Impossibile eseguire "choco install pywin32 --yes"
- Tan Shuai
- Sviluppo Software
- 08 Sep, 2021
Quando si lavora con Electron Build Tools, potrebbe verificarsi un errore relativo all'installazione di pywin32 tramite Chocolatey. Questo può essere frustrante, soprattutto quando è una dipendenza necessaria per il tuo progetto. Di seguito è riportata una spiegazione dettagliata del problema e dei passaggi potenziali per risolverlo.
L'Errore
Quando si inizializza un progetto Electron utilizzando Electron Build Tools, potrebbe comparire il seguente messaggio di errore:
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)
Questo errore si verifica tipicamente perché lo script di installazione del pacchetto pywin32 non riesce a trovare i file richiesti sul server remoto. Questo si traduce in un errore 404, che indica che il file non è disponibile all'URL specificato.
Comprendere l'Errore
La parte chiave del messaggio di errore è:
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."
Questo indica che l'URL di download per pywin32 non è più valido, il che significa che Chocolatey non può recuperare i file di installazione necessari.
Passaggi per la Risoluzione dei Problemi
Ecco alcuni passaggi che puoi seguire per risolvere questo problema:
1. Verificare l'Installazione di Chocolatey
Assicurati che Chocolatey sia installato correttamente e aggiornato all'ultima versione. Puoi controllare la versione di Chocolatey con:
choco --version
Per aggiornare Chocolatey, usa:
choco upgrade chocolatey
2. Installare Manualmente pywin32
Poiché l'installazione automatica fallisce, prova a installare manualmente pywin32. Puoi scaricare la versione appropriata dalla pagina dei rilasci ufficiali di pywin32 su GitHub e installarla manualmente.
3. Modificare lo Script di Installazione
Se hai il controllo sullo script di Electron Build Tools, puoi modificarlo per puntare a un URL valido per pywin32 o gestire il processo di installazione manualmente.
4. Utilizzare un Gestore di Pacchetti Alternativo
Se Chocolatey continua a fallire, considera l'utilizzo di un gestore di pacchetti alternativo come pip per i pacchetti Python:
pip install pywin32
Esempio di Installazione Manuale di pywin32
- Scarica l'installer appropriato di pywin32 dalle release ufficiali di GitHub.
- Esegui l'installer e segui le istruzioni di installazione.
- Verifica l'installazione eseguendo un semplice script Python che importi pywin32:
import win32api
print(win32api.GetVersionEx())
Incontrare l'errore "Failed to run choco install pywin32 --yes
" può essere un ostacolo nel tuo processo di sviluppo. Tuttavia, comprendendo la causa principale e seguendo i passaggi sopra indicati, puoi superare questo problema e continuare con la configurazione del tuo progetto Electron.