【问题标题】:ImportError: No module named PyQt5.QtWidgetsImportError:没有名为 PyQt5.QtWidgets 的模块
【发布时间】:2020-07-26 06:15:23
【问题描述】:
我已经安装了自制软件,并从自制软件安装了 pyqt5。我还在我的 PC 上使用最新版本的 python。但我的应用程序不工作。每当我导入任何 pyqt5 模块时,它都会给我一个 ImportError。有没有人可以帮帮我。
错误如下:
from PyQt5.QtWidgets import *
ImportError: No module named PyQt5.QtWidgets
【问题讨论】:
标签:
python
python-3.x
pyqt
pyqt5
【解决方案1】:
您可能在系统上使用了错误的 python 二进制文件。
如果您已经为 Python (brew install pyqt@5) 安装了 Qt5 绑定,那么使用它们的最简单方法是创建一个使用您的系统站点包的virtual environment。
/usr/bin/python3 -m venv --system-site-packages venv
这个问题可能会因自制安装的 python 或 pyenv 之类的东西提供的垫片而变得复杂:你应该能够通过这种 virtualenv 方法使用它们中的任何一个,但是使用 /usr/bin/python3 允许你显式地使用 macOS 的默认 python 构建。
Mac M1 (ARM) 的注意事项:
如果您在 M1 芯片上运行(尽管这个问题可能太老了),PyPI PyQt5 module 目前没有 ARM 版本。上面的方法可以在 M1 mac 上工作,但是如果你发现一个 requirements.txt 文件使用了pyqt,你可以通过 Rosetta 安装和使用它:
arch -arch x86_64 /usr/bin/python3 -m venv venv
# use up-to-date pip, and install pyqt's builder first
arch -arch x86_64 venv/bin/pip install -U pip pyqt5-sip
arch -arch x86_64 venv/bin/pip install pyqt