我是靠谱客的博主 寒冷夕阳,最近开发中收集的这篇文章主要介绍ImportError: unable to find Qt5Core.dll on PATH,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
用pyinstaller打包python程序,执行exe时,程序闪退,第一反映肯定是有问题了,但是闪退没法跟踪问题,于是在命令行窗口执行exe,显示如下:
D:>"D:python projectdemodistdemo.exe"
Traceback (most recent call last):
File "demo.py", line 3, in <module>
File "d:python projectdemovenvlibsite-packagesPyInstallerloaderpyimod03_importers.py", line 627, in exec_module
exec(bytecode, module.__dict__)
File "libsite-packagesPyQt5__init__.py", line 41, in <module>
File "libsite-packagesPyQt5__init__.py", line 33, in find_qt
ImportError: unable to find Qt5Core.dll on PATH
[11632] Failed to execute script demo
这就奇怪了,看错误是说系统path路径下找不到dll库,以为是缺少路径了,于是就在系统环境变量path里把pyqt5的库目录给加进去,发现还是没用,没办法只能去网上寻找答案,但是找了一大圈还是没找到解决办法,几翻折腾下,还是在必应里找到几个网站,才明白原因。
-
https://stackoverflow.com/questions/56949297/how-to-fix-importerror-unable-to-find-qt5core-dll-on-path-after-pyinstaller-b
-
https://github.com/pyinstaller/pyinstaller/issues/4293
里面描述的比较详细,具体就不详说了。总的来说呢,就是有的版本pyqt5库对系统变量的加载存在bug,具体原因只有官方才能解释了,咱也没法管了,对有bug的版本库提供一种办法就是,在主程序中pyqt5库import之前就对系统变量进行手动设置,import代码如下:
import sys, os
if hasattr(sys, 'frozen'):
os.environ['PATH'] = sys._MEIPASS + ";" + os.environ['PATH']
from PyQt5 import QtCore, QtWidgets, QtGui
from PyQt5.QtWidgets import *
from untitled import Ui_MainWindow
from PyQt5.QtGui import *
这样打包之后exe就能完美运行了
最后
以上就是寒冷夕阳为你收集整理的ImportError: unable to find Qt5Core.dll on PATH的全部内容,希望文章能够帮你解决ImportError: unable to find Qt5Core.dll on PATH所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复