在网上找各种解决办法,配置了两天总算是解决了,接下来就让我们一起解决这个问题吧。
首先,对anaconda和pycharm的安装:
anaconda这里采用了最新的版本:Anaconda3-2020.07-Windows-x86_64.exe
anaconda在安装的时候没有让它自动配置环境,自己在高级系统设置–>环境变量–>Path中进行了添加
pycharm我用的版本是2020的社区版的
pycharm使用的python环境,这样配置的话,方便后面的项目每次都要下载对应的模块
配置QTdesigner,PYUIC, PYRCC:
需要将这三个配置到pycharm里面,而导入的方式则是通过在setting里面的tools选择external tools导入:
(1) QTdesigner就是自己需要制作GUI
Program: C:\Program Files\Python37\Lib\site-packages\PyQt5\designer.exe
Working Directory: $ProjectFileDir$
(2) PYUIC就是把qtdesigner生成的.ui文件转换成.py
Program:D:\Anaconda3\Scripts\pyuic5.exe
Argument: -m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py
Working Directory: $ProjectFileDir$
(3) PYRCC就是将写好槽函数的.py文件打包成exe(目前没做到这一步)
Program:D:\Anaconda3\Scripts\pyrcc5.exe
Argument:
$FileName$ -o $FileNameWithoutExtension$_rc.py
Working Directory: $ProjectFileDir$
踩坑环节:
其实走到这几步都还很顺利,特别是在函数中进行import PyQt5没有出错
包括from PyQt5 import QtCore的时候,编译器也没有报错
当时只有在ipython中输入import PyQt5没有出错,from PyQt5 import QtCore出错
ImportError: DLL load failed: 找不到指定的模块
后来在使用PYUIC将.ui文件转换成.py文件的时候,出现了这个错误提示
对于这个错误,找了很久很久。很多人是因为anaconda里面缺少了python3.dll,通过下载同版本的python并且安装后,将安装目录下的python3.dll补充/替代 anaconda里和python3X.dll里面的python3.dll
这一块替换了后并没有起到任何的作用,在查看自己的interpreter的时候发现自己只有pyqt,anaconda里面的lib\site-packages只有pyqt
思考是不是需要进行安装
于是在pycharm的terminal里面进行pip安装:
pip install sip
pip install PyQt5
在此处安装可能会提示spyder组件需要低版本的pyqt5,可制定pyqt5的版本进行安装:
pip install --user pyqt5==5.12.0
#或者是
pip install --user pyqtwebengine==5.12.0
你没有安装PyQt5-tools就安装,安装了就不管
pip install PyQt5-tools
###############################华丽的分割线#########################################
后面ui转py文件还是不行的话,别着急,还有办法
报错:
Error: one input ui-file must be specified
这种情况就是
PyUIC和QtDesigner的Working directory必须一样,否则出现no such file or dictionary错误
对于Working directory 填的"$ProjectFileDir$
"还是 "$FileDir$
"不影响,试过都能正常生成.ui文件。
顺便说下:
QtDesigner的Arguments可不填,因为在保存的时候已经指定名字和路径了,不需要参数了。
而.ui文件生成.py文件需要参数也好理解,要告诉pyuic5.exe生成文件名的规则。
先运行,随便建个项目
运行状态
然后这步也很重要
一定要选中之后生成,不然又说没找到文件了,到这里就结束教程啦,还有问题的话可以留言哦
摘文:
https://blog.csdn.net/qq_40155090/article/details/108521081
https://blog.csdn.net/qq_40155090