Инструменты сборки Electron ОШИБКА Error: Не удалось выполнить \"choco install pywin32 --yes\"
- Тан Шуай
- Разработка программного обеспечения
- 08 Sep, 2021
При работе с инструментами сборки Electron вы можете столкнуться с ошибкой, связанной с установкой pywin32 через Chocolatey. Это может быть неприятно, особенно если эта зависимость необходима для вашего проекта. Ниже приводится подробное объяснение проблемы и возможные шаги для ее решения.
Ошибка
При инициализации проекта Electron с использованием инструментов сборки Electron вы можете увидеть следующее сообщение об ошибке:
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)
Эта ошибка обычно возникает из-за того, что скрипт установки пакета pywin32 не может найти необходимые файлы на удаленном сервере. Это приводит к ошибке 404, указывающей на то, что файл недоступен по указанному URL.
Понимание ошибки
Ключевая часть сообщения об ошибке:
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."
Это указывает на то, что URL-адрес для загрузки pywin32 больше не действителен, что означает, что Chocolatey не может получить необходимые файлы для установки.
### Шаги по устранению неполадок
Вот несколько шагов, которые вы можете предпринять для решения этой проблемы:
#### 1. Проверьте установку Chocolatey
Убедитесь, что Chocolatey установлен правильно и обновлен до последней версии. Вы можете проверить версию Chocolatey с помощью команды:
```bash
choco --version
Для обновления Chocolatey используйте команду:
choco upgrade chocolatey
2. Установите pywin32 вручную
Поскольку автоматическая установка не удается, попробуйте установить pywin32 вручную. Вы можете скачать соответствующую версию с официальной страницы релизов pywin32 на GitHub и установить ее вручную.
3. Измените скрипт установки
Если у вас есть контроль над скриптом Electron Build Tools, вы можете изменить его, чтобы он указывал на действительный URL для pywin32 или обрабатывал процесс ручной установки.
4. Используйте альтернативный менеджер пакетов
Если Chocolatey продолжает выдавать ошибки, рассмотрите возможность использования альтернативного менеджера пакетов, такого как pip для пакетов Python:
pip install pywin32
Пример ручной установки pywin32
- Скачайте подходящий установщик pywin32 с официальной страницы релизов на GitHub.
- Запустите установщик и следуйте инструкциям по установке.
- Проверьте установку, запустив простой скрипт на Python, который импортирует pywin32:
import win32api
print(win32api.GetVersionEx())
Возникновение ошибки "Failed to run choco install pywin32 --yes
" может стать препятствием в процессе разработки. Однако, поняв основную причину и следуя приведенным выше шагам, вы сможете преодолеть эту проблему и продолжить настройку вашего проекта Electron.