将UI文件转为Py文件时遇ModuleNotFoundError: No module named 'PyQt5'错误求助
解决PyQt5.uic.pyuic模块找不到的问题
你遇到的核心问题是Python版本与PyQt5安装环境不匹配:你在Python35的site-packages目录下执行命令,但系统默认的python命令指向的是Python36,而PyQt5并没有安装在Python36环境中,因此触发了ModuleNotFoundError。
下面给你几个可行的解决办法:
1. 用安装了PyQt5的Python35解释器直接执行命令
既然PyQt5是装在Python35里的,直接指定Python35的完整路径来运行pyuic即可:
C:\Python35\python.exe -m PyQt5.uic.pyuic -x test.ui -o test.py
注意:如果test.ui不在当前命令执行的目录,记得把文件名换成完整路径,比如C:\your\file\path\test.ui。
2. 给Python36安装PyQt5,统一运行环境
如果你更倾向用Python36处理UI转换,先给Python36装上PyQt5:
C:\Users\sungj\AppData\Local\Programs\Python\Python36-32\python.exe -m pip install pyqt5
安装完成后,再用Python36的解释器执行转换命令:
C:\Users\sungj\AppData\Local\Programs\Python\Python36-32\python.exe -m PyQt5.uic.pyuic -x test.ui -o test.py
3. 尝试直接使用pyuic5命令(需环境变量已配置)
部分情况下安装PyQt5时,会自动把pyuic5工具添加到系统环境变量中,你可以直接在命令行输入:
pyuic5 -x test.ui -o test.py
这个命令会自动匹配安装了PyQt5的Python版本,无需手动指定解释器路径。
另外提个小建议:没必要进到Python的site-packages目录下执行命令,你只需要在test.ui文件所在的文件夹打开命令行,执行上述命令就可以了。
内容的提问来源于stack exchange,提问作者sungjin.park
相关产品推荐
相关产品推荐

