在“arm64”上安装 PyQt5 突然停止工作(一些“sip”问题)

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

这是一个非常针对 macOS 的问题,但我不知道该把它放在哪里。我有一个使用 PyQt5 的 Python 脚本。不幸的是,

pyqt5
没有轮子可以用
pip
安装它,所以如果你使用
arm64
,你必须从源代码构建。这就是我今天成功做到的:

  1. 它需要

    qmake
    ,我是通过
    brew
    brew install qt5
    )安装的。将其添加到我的路径后,我可以执行它(
    which qmake
    显示正确的路径)。

  2. 然后我使用以下命令通过 pip 安装 pyqt5:

    pip install pyqt5 --config-settings --confirm-license= --verbose
    (pyqt5 要求许可协议,但 pip install 不是交互式的,因此命令很长)。 正如我所说,直到上周我才能成功地做到这一点。当我今天尝试这个时,我收到错误:

  The dbus-python package does not seem to be installed.
  These bindings will be built: Qt, pylupdate, pyrcc.
  Generating the Qt bindings...
  Generating the pylupdate bindings...
  _in_process.py: /private/var/folders/ws/vdb_nvyj35g9ck_srpvqpccm0000gn/T/pip-install-jr3725ba/pyqt5_7d0f0bcc5a7241bd8afa726e0fa5e8d1/sip/QtCore/qprocess.sip: line 99: column 5: 'Q_PID' is undefined
  error: subprocess-exited-with-error

sip
相关的事情似乎发生了变化。我的系统上唯一发生变化的是从 Xcode14 更新到 Xcode15。我真的不明白为什么这会影响 pyqt5 或 sip,但这是我唯一能想到的。

我还尝试另外通过brew安装

sip
,但这并没有改变任何东西。

有什么想法吗?

python pyqt5 sip qmake apple-silicon
1个回答
0
投票

我可以确认它不再工作的原因(macOS,arm64)是由于 Xcode 15。我从这里下载了 Xcode 14.3.1(https://download.developer.apple.com/Developer_Tools/Xcode_14)。 3.1/Xcode_14.3.1.xip),解压它,将

Xcode.app
重命名为
Xcode_14.3.1.app
(以便能够并行拥有两个版本),将其复制到
/Applications
并启动它。之后,我将命令行工具设置为 14.3.1(设置 -> 位置;还有其他方法,例如
xcode-select -s
以及仅使用命令行工具的方法),然后使用以下命令安装 PyQt5:
pip install pyqt5 --config-settings --confirm-license= --verbose
。我可以确认从源代码构建 PyQt5 再次有效(这仍然需要来自
qmake
或 qt.io 的
brew
),因此与 Xcode 15 的某些内容不兼容。我会尝试找出答案,这正是哪一个,所以我们可以将其转移到 linux aarch64。

© www.soinside.com 2019 - 2024. All rights reserved.