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

相关文章

Spring Boot中JSON数值溢出问题从报错到优雅解决办法

《SpringBoot中JSON数值溢出问题从报错到优雅解决办法》:本文主要介绍SpringBoot中JSON数值溢出问题从报错到优雅的解决办法,通过修改字段类型为Long、添加全局异常处理和... 目录一、问题背景:为什么我的接口突然报错了?二、为什么会发生这个错误?1. Java 数据类型的“容量”限制

SpringBoot项目中报错The field screenShot exceeds its maximum permitted size of 1048576 bytes.的问题及解决

《SpringBoot项目中报错ThefieldscreenShotexceedsitsmaximumpermittedsizeof1048576bytes.的问题及解决》这篇文章... 目录项目场景问题描述原因分析解决方案总结项目场景javascript提示:项目相关背景:项目场景:基于Spring

将Java程序打包成EXE文件的实现方式

《将Java程序打包成EXE文件的实现方式》:本文主要介绍将Java程序打包成EXE文件的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录如何将Java程序编程打包成EXE文件1.准备Java程序2.生成JAR包3.选择并安装打包工具4.配置Launch4

如何解决idea的Module:‘:app‘platform‘android-32‘not found.问题

《如何解决idea的Module:‘:app‘platform‘android-32‘notfound.问题》:本文主要介绍如何解决idea的Module:‘:app‘platform‘andr... 目录idea的Module:‘:app‘pwww.chinasem.cnlatform‘android-32

PyInstaller打包selenium-wire过程中常见问题和解决指南

《PyInstaller打包selenium-wire过程中常见问题和解决指南》常用的打包工具PyInstaller能将Python项目打包成单个可执行文件,但也会因为兼容性问题和路径管理而出现各种运... 目录前言1. 背景2. 可能遇到的问题概述3. PyInstaller 打包步骤及参数配置4. 依赖

解决SpringBoot启动报错:Failed to load property source from location 'classpath:/application.yml'

《解决SpringBoot启动报错:Failedtoloadpropertysourcefromlocationclasspath:/application.yml问题》这篇文章主要介绍... 目录在启动SpringBoot项目时报如下错误原因可能是1.yml中语法错误2.yml文件格式是GBK总结在启动S

idea maven编译报错Java heap space的解决方法

《ideamaven编译报错Javaheapspace的解决方法》这篇文章主要为大家详细介绍了ideamaven编译报错Javaheapspace的相关解决方法,文中的示例代码讲解详细,感兴趣的... 目录1.增加 Maven 编译的堆内存2. 增加 IntelliJ IDEA 的堆内存3. 优化 Mave

如何解决mmcv无法安装或安装之后报错问题

《如何解决mmcv无法安装或安装之后报错问题》:本文主要介绍如何解决mmcv无法安装或安装之后报错问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mmcv无法安装或安装之后报错问题1.当我们运行YOwww.chinasem.cnLO时遇到2.找到下图所示这里3.

浅谈配置MMCV环境,解决报错,版本不匹配问题

《浅谈配置MMCV环境,解决报错,版本不匹配问题》:本文主要介绍浅谈配置MMCV环境,解决报错,版本不匹配问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录配置MMCV环境,解决报错,版本不匹配错误示例正确示例总结配置MMCV环境,解决报错,版本不匹配在col

Python+PyQt5实现多屏幕协同播放功能

《Python+PyQt5实现多屏幕协同播放功能》在现代会议展示、数字广告、展览展示等场景中,多屏幕协同播放已成为刚需,下面我们就来看看如何利用Python和PyQt5开发一套功能强大的跨屏播控系统吧... 目录一、项目概述:突破传统播放限制二、核心技术解析2.1 多屏管理机制2.2 播放引擎设计2.3 专