【问题标题】:How can i run pyqt5 on my mac with M1chip如何使用 M1 芯片在我的 Mac 上运行 pyqt5
【发布时间】: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 上运行类似的东西。试试看?

标签: python macos pyqt5 apple-silicon apple-m1


【解决方案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】:

        经过数小时的反复试验,我终于能够解决这个问题。我的成功配置是:

        1. 使用 Rosetta 2 (https://dev.to/courier/tips-and-tricks-to-setup-your-apple-m1-for-development-547g) 打开终端
        2. 使用非自制python(我的在/usr/bin/python3)创建虚拟环境
        /usr/bin/python3 -m venv env
        source env/bin/activate
        
        1. 升级点子
        pip install --upgrade pip
        
        1. 安装 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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2021-11-03
            • 2021-04-26
            • 1970-01-01
            • 2021-04-10
            • 1970-01-01
            • 2021-08-31
            • 1970-01-01
            • 2021-10-19
            相关资源
            最近更新 更多