我正在尝试构建本机 Apple Silicon 支持的项目依赖项。但是,我在编译 PySide2 时遇到问题。我知道……我知道……太旧了,最好使用 PySide6。我们也想升级它。但我的意思是先知道我是否可以支持arm64。
要构建 PySide2,我正在使用:
当我尝试使用
python setup.py install --qmake=...
构建 PySide2 时,我的错误消息是:Something's broken. UCHAR_MAX should be defined in limits.h.
我意识到从 QT 5.15.4 开始我可以使用选项
QMAKE_APPLE_DEVICE_ARCHS="x86_64 arm64"
但我不知道如何将它传递给 pyside-setup。
我有几个问题:
是否可以为arm编译PySide2(QT5)?
如何在没有 Qt 许可证的情况下在本地构建 PySide2 仅用于开发目的?我的文件只在 CI 上,当我在本地尝试时,我得到:
错误:未找到 Qt 许可证文件! 项目错误:许可证检查失败!放弃 ... 错误:无法查询 Qt 的 QMAKE_MACOSX_DEPLOYMENT_TARGET。
Qt_for_Python Wiki显示MacOS for Apple芯片支持源代码构建,可以从6.2.2版本开始构建。
在这个链接中,博主成功编译了PySide2(一些组件),但最终仍然缺少一些组件(
QtWebEngineWidgets
)。
可能Qt中的Web相关组件依赖于底层x86平台,所以Qt5 for arm不支持)
虽然我知道问题出在苹果芯片架构上,但还有另一种方法可以通过使用 Rosetta 的 x86 版本的 python 来实现此目的
pip install PySide2