• 欢迎访问GanAHE的小创元世纪,技术交流与资源分享,欢迎加入GanAHE的小创元世纪🤪 微信公众号:星辰换日
  • 电影、教程、软件等分享资源请在本站或微信公众号合作平台:【星辰换日】获取。
  • 首页展示个人参与或独立开发的产品,更多功能在建中......🙆🏼天王盖地虎
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏本站吧🥺
  • 注册采用有效的邮箱,有助于及时收到评论回复、最新资源以及活动通知哟~✔🥳
  • 目前在逐渐打通微信小程序与网站之前的间隔~💻🏢

PyQt5打包后运行出现 ImportError: unable to find Qt5Core.dll on PATH 两套解决方案

Python GanAHE 8个月前 (09-08) 46次浏览 已收录 0个评论 扫描二维码

一、背景

最近一个项目采用PyQt5 5.13.0 进行开发,经过打包成exe可以执行。
环境:Windows 10 + python 3.7 + PyQt5 5.13.0 + tensorflow 1.14.0等。但是在此之前运行时会有这么一个错误:

ImportError: unable to find Qt5Core.dll on PATH


5.12.3 以及5.13.0好像都存在该问题:
问题

统一错误模板:

λ XXXXXX.exe
Traceback (most recent call last):
  File "xxxxxxui.py", line 4, in <module>
  File "c:usersremib.virtualenvsxxxxxxx-w7udp1ctlibsite-packagesPyInstallerloaderpyimod03_importers.py", line 627, in exec_module
    exec(bytecode, module.__dict__)
  File "site-packagesPyQt5__init__.py", line 41, in <module>
  File "site-packagesPyQt5__init__.py", line 33, in find_qt
ImportError: unable to find Qt5Core.dll on PATH
[12876] Failed to execute script ui

注意:有时候运行失败是闪退的,如需要查看错误信息,可以先打包成在控制台运行,然后通过cmd、power shell等执行.exe文件

二、本机运行报错及解决办法

在PyQt创建初始化前加入如下代码:

if hasattr(sys, 'frozen'):
    os.environ['PATH'] = sys._MEIPASS + ";" + os.environ['PATH']

示例

三、在其他电脑上报错及解决办法


由于本人在此之前就用过PyQt5创建应用并解决了以上问题,但是最近的这个项目打包好发布后在相同运行环境下的机子又报错了,检查打包后项目的安装目录,发现文件是存在的:

经过一番测试与查找,发现打包后的PyQt5文件夹下,PyQt5/Qt/bin没有该文件。在Pyinstaller的GitHub项目下,issue有这么一项:

即需要手动将缺少的文件复制到打包后的PyQt5/Qt/bin目录下。查看该目录,在打包时手动加入缺少的文件:

缺少文件情况

添加文件(可只添加缺少的文件,为防止其他PyQt的库又找不到,可以都复制进去(库文件来源于打包后的目录。)

最后成功!

四、运行成功

五、项目其他文章链接


GanAHE 的小创元世纪, 版权所有丨如未注明 , 均为原创丨本网站采用@BY-NC-SA协议进行授权
转载请注明原文链接:PyQt5打包后运行出现 ImportError: unable to find Qt5Core.dll on PATH 两套解决方案
喜欢 (0)
[WeChat]
分享 (0)
关于作者:
网站的建设与维护者、DGZC的守护者
0 0 评分
都看完了,打个分儿叭~
通知
提醒
0 评论
内部反馈
显示所有评论
0
有什么想法吗,快来留下你的评论吧!x
()
x