Herramientas de Construcción de Electron ERROR Error: Failed to run \"choco install pywin32\n --yes\"
- Tan Shuai
- Desarrollo de Software
- 08 Sep, 2021
Al trabajar con Electron Build Tools, es posible que encuentres un error relacionado con la instalación de pywin32 a través de Chocolatey. Esto puede ser frustrante, especialmente cuando es una dependencia requerida para tu proyecto. A continuación, se ofrece una explicación detallada del problema y los posibles pasos para resolverlo.
El error
Al iniciar un proyecto de Electron utilizando Electron Build Tools, podrías ver el siguiente mensaje de error:
E:\\>e init main-testing -i testing --root=e:/src/electron
WARN Se ha producido un error solucionable
--> No se pudo localizar una dependencia requerida "pywin32", probablemente deba instalarse.
¿Quieres que build-tools intente solucionarlo por ti? [y/n]: y
Ejecutando "choco install pywin32 --yes"
ERROR Error: Fallo al ejecutar "choco install pywin32 --yes"
en spawnSyncWithLog (C:\\Users\\zeeis\\.electron_build_tools\\src\\utils\\deps-check.js:11:11)
en fix (C:\\Users\\zeeis\\.electron_build_tools\\src\\utils\\deps-check.js:39:9)
en maybeAutoFix (C:\\Users\\zeeis\\.electron_build_tools\\src\\utils\\maybe-auto-fix.js:13:3)
en whichAndFix (C:\\Users\\zeeis\\.electron_build_tools\\src\\utils\\which.js:10:5)
en checkPlatformDependencies (C:\\Users\\zeeis\\.electron_build_tools\\src\\utils\\deps-check.js:61:7)
en Object.<anonymous> (C:\\Users\\zeeis\\.electron_build_tools\\src\\e-init.js:165:3)
en Module._compile (internal/modules/cjs/loader.js:1072:14)
en Object.Module._extensions..js (internal/modules/cjs/loader.js:1101:10)
en Module.load (internal/modules/cjs/loader.js:937:32)
en Function.Module._load (internal/modules/cjs/loader.js:778:12)
Este error suele ocurrir porque el script de instalación del paquete pywin32 no puede encontrar los archivos necesarios en el servidor remoto. Esto resulta en un error 404, indicando que el archivo no está disponible en la URL especificada.
Entendiendo el error
La parte clave del mensaje de error es:
ERROR: El archivo remoto no existe, no está autorizado o está prohibido para la URL 'http://sourceforge.net/projects/pywin32/files/pywin32/Build%20219/pywin32-219.win-amd64-py3.9.exe/download'. Excepción al llamar a "GetResponse" con "0" argumento(s): "El servidor remoto devolvió un error: (404) No encontrado."
Esto indica que la URL de descarga para pywin32 ya no es válida, lo que significa que Chocolatey no puede recuperar los archivos de instalación necesarios.
### Pasos para la Solución de Problemas
Aquí hay algunos pasos que puedes seguir para resolver este problema:
#### 1. Verificar la Instalación de Chocolatey
Asegúrate de que Chocolatey esté instalado correctamente y actualizado a la última versión. Puedes verificar tu versión de Chocolatey con:
```bash
choco --version
Para actualizar Chocolatey, usa:
choco upgrade chocolatey
2. Instalar pywin32 Manualmente
Dado que la instalación automatizada está fallando, intenta instalar pywin32 manualmente. Puedes descargar la versión adecuada desde la página de lanzamientos de pywin32 en GitHub e instalarla manualmente.
3. Modificar el Script de Instalación
Si tienes control sobre el script de Electron Build Tools, puedes modificarlo para que apunte a una URL válida para pywin32 o maneje el proceso de instalación manual.
4. Usar un Gestor de Paquetes Alternativo
Si Chocolatey sigue fallando, considera usar un gestor de paquetes alternativo como pip para paquetes de Python:
pip install pywin32
Ejemplo de Instalación Manual de pywin32
- Descarga el instalador adecuado de pywin32 desde los lanzamientos oficiales en GitHub.
- Ejecuta el instalador y sigue las instrucciones de instalación.
- Verifica la instalación ejecutando un simple script de Python que importe pywin32:
import win32api
print(win32api.GetVersionEx())
Encontrar el error "Failed to run choco install pywin32 --yes
" puede ser un obstáculo en tu proceso de desarrollo. Sin embargo, al comprender la causa raíz y seguir los pasos descritos anteriormente, puedes superar este problema y continuar con la configuración de tu proyecto Electron.