如何使用 M1 芯片在我的 Mac 上运行 pyqt5
Posted
技术标签:
【中文标题】如何使用 M1 芯片在我的 Mac 上运行 pyqt5【英文标题】:How can i run pyqt5 on my mac with M1chip 【发布时间】:2021-04-30 05:25:34 【问题描述】:现在。当我运行它时。错误导致 ImportError: dlopen(/Users/v/Library/Python/3.8/lib/python/site-packages/PyQt5/QtWidgets.abi3.so, 2): 找不到合适的图像。发现: /Users/v/Library/Python/3.8/lib/python/site-packages/PyQt5/QtWidgets.abi3.so:mach-o,但架构错误 /Users/v/Library/Python/3.8/lib/python/site-packages/PyQt5/QtWidgets.abi3.so:mach-o,但架构错误
【问题讨论】:
显然,M1 芯片太新了,Python 本身并不知道它们发生了什么。我听说过一种叫做“Rosetta”的东西,它可以让你在英特尔 Mac 上运行类似的东西。试试看? 【参考方案1】:我需要 PyQt5 作为 Python 库的依赖项,这对我有用。见原帖here。
brew install pyqt5
echo 'export PATH="/opt/homebrew/opt/qt@5/bin:$PATH"' >> ~/.zshrc
echo 'export PATH="/opt/homebrew/opt/pyqt@5/5.15.4_1/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
【讨论】:
【参考方案2】:您可以从自制软件中使用它,这是我发现它在 Mac M1 上工作的唯一方法。
第一:
brew install pyqt@5
然后:
brew --cellar
brew link --overwrite python
然后您必须为 python 创建/添加一个别名并将其放入您的 .zprofile(如果您按 Shift+command+,则位于用户/用户名文件夹中。
这必须指向你的 homebrew python 安装位置。
alias python ='opt/homebrew/bin/python3'
这样它将python与您的自制python链接,您可以从终端运行python test.py(您的python文件所在的位置)。 无论我如何尝试使用 pip install,它都只是显示错误并且不起作用。
【讨论】:
【参考方案3】:在我的情况下,它的工作:arch -x86_64 brew install pyqt
并且所有必需的 pyqt 都从 arch -x86_64 开始或从 rosetta 开始(通过模拟器)。
【讨论】:
【参考方案4】:经过数小时的反复试验,我终于能够解决这个问题。我的成功配置是:
-
使用 Rosetta 2 (https://dev.to/courier/tips-and-tricks-to-setup-your-apple-m1-for-development-547g) 打开终端
使用非自制python(我的在/usr/bin/python3)创建虚拟环境
/usr/bin/python3 -m venv env
source env/bin/activate
-
升级点子
pip install --upgrade pip
-
安装 PyQt5
pip install PyQt5
【讨论】:
在 Rosetta 模式下运行终端对我有用 - 谢谢 试图让这个工作从一天开始!该死的,谢谢伙计:) 这对我有用。为什么通过自制软件安装的 python 不起作用? 如果它与 Rosetta 一起安装,它仍然可以与原生 M1 python 一起使用吗?几天前我刚拿到我的 m1 MacBook Pro,如果这是一个愚蠢的问题,我深表歉意。【参考方案5】:我最终专门为pyqt5
做的是:
brew install pyqt@5
我认为对于版本 4 和 6,这可能也适用。当我简单地去brew install pyqt
时,不幸的是没有用。
请注意,这只是 M1 Macbook
在 M1 稳定下来后,要尝试的另一件事是在以 Rosetta 模式启动的终端中尝试 pip3 install pyqt5
(左键单击 -> 获取信息 -> 在 Rosetta 中打开)
【讨论】:
【参考方案6】:尝试在ARM架构下安装pyqt如下
arch -arm64 brew install pyqt
【讨论】:
以上是关于如何使用 M1 芯片在我的 Mac 上运行 pyqt5的主要内容,如果未能解决你的问题,请参考以下文章
mac Big Sur 芯片m1上安装ps,窗口里没有扩展,用不了插件了怎么办?