为Apple Silicon架构构建PySide2

问题描述 投票:0回答:2

我正在尝试构建本机 Apple Silicon 支持的项目依赖项。但是,我在编译 PySide2 时遇到问题。我知道……我知道……太旧了,最好使用 PySide6。我们也想升级它。但我的意思是先知道我是否可以支持arm64。

要构建 PySide2,我正在使用:

  • macOS 12.6
  • X代码14
  • 我编译了 Python 3.9,没有任何问题。
  • QT 5.15.10
  • libclang 12
  • pyside-setup(源代码)5.15.2.1

当我尝试使用

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。

我有几个问题:

  1. 是否可以为arm编译PySide2(QT5)?

  2. 如何在没有 Qt 许可证的情况下在本地构建 PySide2 仅用于开发目的?我的文件只在 CI 上,当我在本地尝试时,我得到:

    错误:未找到 Qt 许可证文件! 项目错误:许可证检查失败!放弃 ... 错误:无法查询 Qt 的 QMAKE_MACOSX_DEPLOYMENT_TARGET。

python qt pyside2
2个回答
0
投票

Qt_for_Python Wiki显示MacOS for Apple芯片支持源代码构建,可以从6.2.2版本开始构建。

在这个链接中,博主成功编译了PySide2(一些组件),但最终仍然缺少一些组件(

QtWebEngineWidgets
)。

可能Qt中的Web相关组件依赖于底层x86平台,所以Qt5 for arm不支持)


0
投票

虽然我知道问题出在苹果芯片架构上,但还有另一种方法可以通过使用 Rosetta 的 x86 版本的 python 来实现此目的

  1. 按照这个答案安装x86版本的python
  2. 安装PySide2
    pip install PySide2
    
© www.soinside.com 2019 - 2024. All rights reserved.