PYQT5打包报错 FileNotFoundError ModuleNotFoundError:No Module named ‘MyImport‘

本文主要是介绍PYQT5打包报错 FileNotFoundError ModuleNotFoundError:No Module named ‘MyImport‘,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

pyinstaller打包pyqt5程序得到exe文件无法运行的问题

在执行该命令之后pyinstaller -D -w main.py,生成的exe文件运行出现报错,ui文件找不到、模块找不到等,这些是因为程序使用到非官方库等问题,总之就是你自己的各种文件在代码中使用到了,但是打包的时候pyinstaller是没办法处理你的那些文件的,因此,打包好了之后要想正确执行exe文件还需要把你用到的那些自定义模块、images、ui等文件全部都放到生成的dist文件夹下,但是注意,并不是一股脑地把所有用到的文件塞到dist里!你需要按照你在代码中的相对路径的位置放置你用到的文件。

用到一般文件的情况

举个例子,假设我们的python文件名为main.py,我们对该文件打包后,会生成一个dist文件夹,打开该文件夹,然后进入main文件夹,就可以看到main.exe可执行程序。假设我们在main.py中用到了ui文件

self.ui = uic.loadUi(r"../operator.ui")

也就是说在原本的文件顺序中,该ui文件是在main.py的上一级文件夹内的,那么为了正确运行exe文件,你就必须将原本的ui文件copy一份到main.exe文件的上一级文件夹,在这里也就是dist文件夹内。
在这里插入图片描述
同理,假如用到了图片,从上面的截图中可以看到,图片和ui文件是处于同一级的,因此为了正确运行exe程序,你也需要将images文件夹复制一份到dist文件夹下。

用到自定义库的情况

但是需要注意的是,如果你引入自定库的话,与上一个情况是不同的,因为pyinstaller生成的文件夹有一个专门放用到的库函数的文件夹。假如我在main.py中用到了自己定义的库,比如这里用到了MyImport.operator内的add方法。打开生成的文件夹,你可以在main.exe文件所在文件夹内看到一个_internal的文件夹,双击进去,可以看到许多库,这就是运行exe文件所用到的库,但是你自己定义的库pyinstaller是不会帮你引入的,因此你需要自己复制一份到这里,注意,不是复制py文件,你引入哪个库就把对应的整个文件夹复制过去,这里引入的是MyImport库内的方法,因此就需要将工程文件中的整个MyImport文件夹复制到_internal文件夹内!

from MyImport.operator import add

在这里插入图片描述

这篇关于PYQT5打包报错 FileNotFoundError ModuleNotFoundError:No Module named ‘MyImport‘的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/776919

相关文章

kkFileView启动报错:报错2003端口占用的问题及解决

《kkFileView启动报错:报错2003端口占用的问题及解决》kkFileView启动报错因office组件2003端口未关闭,解决:查杀占用端口的进程,终止Java进程,使用shutdown.s... 目录原因解决总结kkFileViewjavascript启动报错启动office组件失败,请检查of

PyQt5 GUI 开发的基础知识

《PyQt5GUI开发的基础知识》Qt是一个跨平台的C++图形用户界面开发框架,支持GUI和非GUI程序开发,本文介绍了使用PyQt5进行界面开发的基础知识,包括创建简单窗口、常用控件、窗口属性设... 目录简介第一个PyQt程序最常用的三个功能模块控件QPushButton(按钮)控件QLable(纯文本

解决1093 - You can‘t specify target table报错问题及原因分析

《解决1093-Youcan‘tspecifytargettable报错问题及原因分析》MySQL1093错误因UPDATE/DELETE语句的FROM子句直接引用目标表或嵌套子查询导致,... 目录报js错原因分析具体原因解决办法方法一:使用临时表方法二:使用JOIN方法三:使用EXISTS示例总结报错原

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

qt5cored.dll报错怎么解决? 电脑qt5cored.dll文件丢失修复技巧

《qt5cored.dll报错怎么解决?电脑qt5cored.dll文件丢失修复技巧》在进行软件安装或运行程序时,有时会遇到由于找不到qt5core.dll,无法继续执行代码,这个问题可能是由于该文... 遇到qt5cored.dll文件错误时,可能会导致基于 Qt 开发的应用程序无法正常运行或启动。这种错

Python程序打包exe,单文件和多文件方式

《Python程序打包exe,单文件和多文件方式》:本文主要介绍Python程序打包exe,单文件和多文件方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录python 脚本打成exe文件安装Pyinstaller准备一个ico图标打包方式一(适用于文件较少的程

基于Python+PyQt5打造一个跨平台Emoji表情管理神器

《基于Python+PyQt5打造一个跨平台Emoji表情管理神器》在当今数字化社交时代,Emoji已成为全球通用的视觉语言,本文主要为大家详细介绍了如何使用Python和PyQt5开发一个功能全面的... 目录概述功能特性1. 全量Emoji集合2. 智能搜索系统3. 高效交互设计4. 现代化UI展示效果

MySQL启动报错:InnoDB表空间丢失问题及解决方法

《MySQL启动报错:InnoDB表空间丢失问题及解决方法》在启动MySQL时,遇到了InnoDB:Tablespace5975wasnotfound,该错误表明MySQL在启动过程中无法找到指定的s... 目录mysql 启动报错:InnoDB 表空间丢失问题及解决方法错误分析解决方案1. 启用 inno

Python+PyQt5实现MySQL数据库备份神器

《Python+PyQt5实现MySQL数据库备份神器》在数据库管理工作中,定期备份是确保数据安全的重要措施,本文将介绍如何使用Python+PyQt5开发一个高颜值,多功能的MySQL数据库备份工具... 目录概述功能特性核心功能矩阵特色功能界面展示主界面设计动态效果演示使用教程环境准备操作流程代码深度解

Maven项目打包时添加本地Jar包的操作步骤

《Maven项目打包时添加本地Jar包的操作步骤》在Maven项目开发中,我们经常会遇到需要引入本地Jar包的场景,比如使用未发布到中央仓库的第三方库或者处理版本冲突的依赖项,本文将详细介绍如何通过M... 目录一、适用场景说明​二、核心操作命令​1. 命令格式解析​2. 实战案例演示​三、项目配置步骤​1