pyuic5 - ModuleNotFoundError: 没有名为 PyQt5.sip 的模块

Ash*_*man 8 python anaconda pyqt5

我刚刚在我的 Windows 系统上安装了带有 Python 3.6 的 Anaconda 5.2。还通过具有管理员权限的 pip 安装了 pyqt5 和 pyqt5-tools。现在,当我运行 pyuic5.exe 来转换 ui 文件时,它显示以下错误:

Traceback (most recent call last):
  File "C:\Users\AshfaqurRahman\Anaconda3\lib\runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
  File "C:\Users\AshfaqurRahman\Anaconda3\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
  File "C:\Users\AshfaqurRahman\AppData\Roaming\Python\Python36\site-packages\PyQt5\uic\pyuic.py", line 26, in <module>
from PyQt5 import QtCore
ModuleNotFoundError: No module named 'PyQt5.sip'
Run Code Online (Sandbox Code Playgroud)

我尝试使用 pip 安装 PyQt5-sip 包。但是它已经安装在我的系统中。

为什么会出现这个问题?我怎么解决这个问题?

Ash*_*man 14

根据Agile_Eagle从评论中提出的建议,我刚刚卸载pyqt5pyqt5-tools打包并重新安装了它们。问题解决了!

PS.:如果您仍然遇到 PyQt 问题,请尝试卸载所有 PyQt 相关库:

pip uninstall PyQt5
pip uninstall PyQt5-sip
pip uninstall PyQtWebEngine
Run Code Online (Sandbox Code Playgroud)

然后再次安装它们,这将修复:

ModuleNotFoundError: No module named 'PyQt5.sip'
ModuleNotFoundError: No module named 'PyQt5.QtWebEngineWidgets'
Run Code Online (Sandbox Code Playgroud)

PPS。:如果您在卸载库时遇到问题,请转到您的 Python 文件夹,例如C:\Users\<USERNAME>\AppData\Local\Programs\Python\Python<PYTHON-VERSION>\Lib\site-packages并手动删除 PyQt 文件夹,然后卸载所有内容并重新安装(确保您拥有最新的 Python 版本并升级您的 pip)


Hel*_*aya 6

截至 2019 年 6 月,pyqt5-tools 不再存在。我找到的解决方案是先安装pyqt5-sip再安装pyqt5

$ pip install pyqt5-sip

$ pip install pyqt5
Run Code Online (Sandbox Code Playgroud)

这似乎摆脱了以下错误: ModuleNotFoundError: No module named 'PyQt5.sip'