У меня была годовая версия MSYS2 / MinGW, в которой использовался PyInstaller с Python3 .7 для компиляции приложения C GTK в Windows (python требовалось для сценария построения), и все работало нормально пока pacman не отказался обновлять какие-либо пакеты, так как я продолжал получать ошибку:
error: hook /usr/share/libalpm/hooks/mingw-w64-x84_64-gtk-query-immodules-3.0.hook line 2: invalid value Path
error: hook /usr/share/libalpm/hooks/mingw-w64-x84_64-gtk-update-icon-cache.hook line 2: invalid value Path
Errors occurred, no packages were upgraded.
Я просмотрел их и получил общий ответ: «Проблема обычно возникает, когда вы не поддерживаете свою систему на через регулярные интервалы - и я не думаю ежегодно - потому что такое пренебрежение часто приводит к аналогичным проблемам. Проблема возникает из-за изменения кода pacman ... "
Итак, я решил начать с fre sh MSYS2 установил и использовал следующие строки как из оболочки MSYS2, так и из оболочки MinGW-x64, и каждая из них не работает в разных точках:
pacman -Syu
pacman -Su
pacman -S nano
pacman -S mingw-w64-i686-gtk3
pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-gtk3 mingw-w64-x86_64-python3 mingw-w64-x86_64-python3-gobject
pacman -S --needed base-devel mingw-w64-i686-toolchain mingw-w64-x86_64-toolchain git subversion mercurial mingw-w64-i686-cmake mingw-w64-x86_64-cmake
pacman -S python3-pip
pacman -S mingw-w64-x86_64-python3-pip
pacman -S msys2-devel
pacman -S mingw-w64-x86_64-glade
pacman -S mingw-w64-x86_64-gobject-introspection
pip install pyinstaller
В случае оболочки MSYS2 pip install pyinstaller
не работает с:
# pip install pyinstaller
Collecting pyinstaller
Using cached PyInstaller-3.6.tar.gz (3.5 MB)
Installing build dependencies ... done
Getting requirements to build wheel ... error
ERROR: Command errored out with exit status 1:
command: /usr/bin/python3.exe /usr/lib/python3.8/site-packages/pip/_vendor/pep517/_in_process.py get_requires_for_build_wheel /tmp/tmpd9hk1ekp
cwd: /tmp/pip-install-ouq11vnr/pyinstaller
Complete output (1 lines):
Your platform is not yet supported. Please define constant PYDYLIB_NAMES for your platform.
Поиск inte rnet показывает, что эта проблема возникает на странице github для PyInstaller и публикации здесь, ни один из которых не был удален ning:
https://github.com/pyinstaller/pyinstaller/issues/4542
Как исправить: PyInstaller в MSYS2 MinGW «Ваша платформа еще не поддерживается»
В случае оболочки MinGW я могу установить все нормально, но я не могу скомпилировать код C, потому что получаю сообщение об ошибке:
fatal error: sys/wait.h: No such file or directory
7 | #include <sys/wait.h>
| ^~~~~~~~~~~~
compilation terminated.
Это означает, что MinGW не знает, где искать для этого файла. Он находится в:
msys64/usr/include/sys
, но я полагаю, что он работает только для оболочки MSYS2? И все же моя годовая оболочка MinGW скомпилирует код C без этой ошибки, но, несмотря на все усилия (следуя истории bash для установки пакетов для рабочей версии, вручную копируя папки пакетов, и так далее), я продолжаю столкнулся с этой ошибкой. Простое копирование папки выше в папку включения MinGW приводит к дальнейшим проблемам и явно небрежно. Мне нужен повторяемый способ заставить это работать, и я повторил описанный выше процесс на нескольких компьютерах и каждый раз получал один и тот же результат - поэтому я ожидаю, что любой, кто начинает с установки fre sh MSYS2, столкнется с такие же проблемы. Любая помощь в запуске этого процесса была бы очень признательна, поскольку меня раздражают все тупики.