使用PyInstaller打包PyQt5程序发生ImportError错误的解决办法

如果你的PyQt5程序使用PyInstaller打包后运行出现类似下面的错误:

ImportError: unable to find Qt5Core.dll on PATH

Failed to execute script main

恭喜你入坑。

出现这种错误的原因是因为PyQt库自身还不够完善,我们无法左右,有很多方法可以解决这个问题,下面这个作者认为最简单:

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

在你导入PyQt5之前,加入上面的代码。

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/p/852.html

分类: 计算机技术
推荐阅读:
Linux终端重用上一条命令的参数 在Linux系统下,当你想使用上一条命令所用的参数,你可以通过这一条命令实现:
Python爬取百度热榜 这是一个非常基础的爬虫;使用Python爬取百度热榜的标题和链接;
一条Linux命令生成一个指定长度的随机密码 在Linux系统下,你可以只需要一条命令就可以生成指定长度的随机密码:
PySide6 widgetAt()函数详细教程 Pyside6.QtWidgets.QApplication类的成员函数widgetAt()用于返回屏幕位置(x,y)处的小部件对象,如果那里没有Qt小部件,则返回None;该方法无法获取其它进程的Qt小部件;
Rust解析TOML,结构体序列化和反序列化 在Rust中,可以使用标准库中的toml模块来解析和生成TOML格式的数据;serde与toml模块集成,可以将TOML字符串解析为任意Rust结构体,或将rust结构体序列化为TOML格式的字符串。
在Rust中如何申请堆内存 在Rust中,可以使用 Box 关键字来在堆上分配内存。Box 是一个智能指针类型,它提供了所有权转移语义,可以将其值分配到堆上,然后通过变量引用进行访问。