pyinstaller生成.exe程序报错:缺少.ini文件分析

VSCode中使用PyInstaller打包Python程序为EXE文件完整指南 Python程序分发面临的核心挑战是环境依赖问题,用户往往需要配置复杂的运行环境。为了解决这一痛点,Python打包技术应运而生,它通过将解释器、脚本代码和依赖库捆绑在一起,生成独立的可执行文件。PyInstaller作为当前最主流的打包工具,凭借其跨平台支持、开箱即用和自动依赖分析等特性,为开发者提供了高效的技术解决方案。在工程实践中,结合VSCode编辑器,开发者可以实现从编码到打包的一站式工作流。本文聚焦于PyInstaller在VSCode环境下的实战应用,详细讲解如何生成单文件可执行程序、处理资源 阅读详情

使用指令:pyinstaller -F -w main.py
生成的.exe文件执行报错:
在这里插入图片描述
看报错信息,初步怀疑是生成的.exe不能执行.ini配置文件。
将程序需要的.ini文件放到.exe同级目录下,虽然还是执行不成功,但是没有上述报错了;删除同级目录下面的.ini文件,上述报错仍然存在,说明初步的判定成立,.exe执行不成功与.ini配置文件有关系。

测试办法:
pyinstaller不加参数”-F"和“-w",执行执行指令:pyinstaller main.py

加不加“-F"和”-w"效果的详细说明文章链接:https://blog.youkuaiyun.com/xc_zhou/article/details/80952022
在这里插入图片描述
在这里插入图片描述
命令行窗口显示报错信息如下:
在这里插入图片描述
dist目录下并没有.ini配置文件,手动添加该文件,再运行main.exe程序,新的报错如下:
在这里插入图片描述
上述报错说模块openpyxl执行load_workbook打开文件功能时报错,但是在pycharm环境下运行main.py程序是ok的,不明白为什么生成.exe之后就无法打开.xlsx文件。
尝试了好几个.xlsx文件都这样,怀疑是不是生成的.exe不能打开电脑加密的.xlsx文件?

在电脑上新建一个.xlsx文件,不对文件进行任何操作,使其处于未被加密状态,执行.exe程序,和打开加密的.exe文件报错对比如下,发现生成的.exe确实不能打开加密的文件:
在这里插入图片描述
上述报错信息解释如下:
最上面的红框框出来的报错是打开的加密文件,可以看出来执行到代码的30行load_workbook打开文件操作;
下面的红框框出来的报错是打开的没有加密文件,可以看出来执行到代码的35行了,这个时候30行的load_workbook打开文件操作执行ok通过了,是其他原因导致的报错;

说明:生成的.exe确实不能打开加密的文件。

将文件解密后,.exe功能执行ok。

同样用解密的文件,使用指令:pyinstaller -F -w main.py 生成的.exe程序,即使放置了需要的.ini配置文件执行结果也不是想要的(只显示一个界面,点击确认button后应该弹出另外一个数据展示界面),但是不会报错。原因未知。

使用"-n"指定生成的.exe的名称,指令:pyinstaller main.py -n ***

由于.exe实现的界面功能比较简单,没有在程序里面设置日志功能,当遇到操作不当引起bug时还是需要借助命令行窗口的显示查找原因的,所以不使用"-w"参数取消显示命令行窗口了。

附上pyinstaller的常见参数:
在这里插入图片描述

Python GUI程序打包实战:PyInstaller稳定打包Tkinter应用为单文件exe 在软件开发中,将脚本程序打包成独立可执行文件是常见的分发需求,尤其对于需要交付给非技术用户的内部工具或桌面应用。其核心原理是通过封装解释器、依赖库和资源文件,创建一个自包含的运行环境,从而免去用户手动配置环境的繁琐步骤。这项技术对于提升软件交付效率和用户体验具有重要价值,广泛应用于工具软件、教育演示和原型系统等场景。本文聚焦于Python生态下的GUI程序打包方案,针对Tkinter框架,深入对比了PyInstaller与Nuitka两种主流工具。PyInstaller因其稳定的依赖分析和资源打包机制,在复 阅读详情

相关推荐

Python打包成exe终极指南:PyInstaller原理、高频报错与实战解决方案

在软件开发与部署流程中,将脚本语言程序打包为独立可执行文件是关键的发布环节,它涉及依赖管理、环境隔离和跨平台兼容性等核心工程问题。其基本原理是通过静态分析、资源收集和运行时封装,将解释器、代码及依赖库整合为单一可分发单元,以实现脱离原始开发环境的独立运行。这一过程的技术价值在于提升了程序的便携性和用户易用性,尤其适用于工具分发、桌面应用交付和离线部署等场景。针对Python生态,PyInstaller作为主流打包工具,能有效处理模块导入和动态链接库依赖,但开发者常面临**ModuleNotFoundErro

weixin_33965305的博客 384

batchplot_batchplot_cad批量打印_批量打印_

CAD虽然有自带的批量打印工具,但是功能不是很完善,用起来不大方便,所以批量打印基本上都是借助插件进行打印。网上批量打印插件很多,不过这里强力推荐BatchPlot,这个工具比较稳定,基本上CAD都可以加载。

Python脚本打包exe实战:PyInstaller全流程与排错指南

Python脚本的分发常受限于目标环境缺少解释器,将脚本打包为Windows可执行文件(exe)便成为常见需求。PyInstaller作为主流打包工具,通过冻结解释器与依赖库生成独立可执行程序,但其使用门槛不在命令本身,而在依赖收集、资源路径与目标系统兼容性。实际工程中,单文件(onefile)模式虽分发便捷,却易引发启动慢、被误报、路径失效等问题。从资源文件定位到隐藏依赖注入,再到Flask-SocketIO等动态加载库的打包处理,系统化排错能力比命令记忆更重要。以文件夹整理工具为例,完整演示PyInst

weixin_34043301的博客 363

batchplot插件用法_Batchplot辅助插件常见问题解决方法

Batchplot辅助插件常见问题解决方法1、Batchplot安装完成,AutoCAD无法识别Bplot快捷键如果出现上述情况,你可以尝试输入PU命令来清理缓存,接着输入RE命令,重新生成,然后再次使用Batchplot批量打印工具,如果问题依然存在,只能重新安装插件。2、Bplot批量打印命令无效是怎么回事?打开AutoCAD,点击【工具】——【加载应用程序】,弹出窗口,找到安装批量打印插件的...

weixin_32350885的博客 5855

Python脚本打包成EXE:PyInstaller实战指南与避坑技巧

在软件开发中,程序打包是将代码、依赖和环境封装成可分发格式的关键步骤,其核心原理是通过静态链接和资源内嵌实现环境隔离。这项技术解决了跨平台部署和环境一致性的工程难题,尤其适用于需要交付给非技术用户或部署到受限环境的场景。对于Python生态,PyInstaller作为主流打包工具,能够将脚本、解释器和第三方库(如PyQt5、pandas)冻结成独立的可执行文件,实现真正的开箱即用。本文聚焦PyInstaller的实战应用,涵盖虚拟环境配置、单文件打包、资源处理等核心操作,并针对模块导入失败、路径错误等高频问

weixin_30765577的博客 486

Python程序打包实战:PyInstaller环境隔离与部署简化

程序打包是软件开发中解决环境依赖与跨平台分发的关键技术,其核心原理是将代码、解释器及依赖库封装为独立可执行单元。通过环境隔离机制,打包技术能有效避免Python版本冲突和依赖缺失问题,显著提升部署效率。在工程实践中,PyInstaller作为主流工具链代表,支持将Python项目转换为原生可执行文件,适用于包含PyQt、NumPy等复杂依赖的场景。典型应用包括GUI程序分发、数据分析工具交付等,其中hook机制处理特殊依赖、UPX压缩优化体积等技术方案能解决80%的打包难题。对于需要更高安全性的场景,可结合

weixin_30814329的博客 501

cad插件加载bplot成功用不了_CAD批量打印,加载Batchplot.vlx那个。 为什么我电脑输入BPLOT命令后没反应啊??急急急,求大神们解救!...

非安装版手工加载方法:1. 将知Batchplot.vlx复制到本地硬盘中任意你希望放置的位置。2. 进入AutoCAD,输入命令Appload,加载Batchplot.vlx3. 打命道令Bplot或Batchplot即可使用。4. 如需每次启动AutoCAD自动加载,可在Appload命令的对话框的启动组中添加Batchplot.vlx条目或者使用安装回包。 我的是 Batchplot_Set...

weixin_35940587的博客 1万+

Python打包实战:从虚拟环境到PyInstaller,解决ModuleNotFoundError与exe闪退

Python打包是将脚本转换为独立可执行文件的关键技术,涉及依赖管理与环境隔离。其核心原理在于通过静态分析代码与资源,将解释器、依赖库及相关文件封装为可在目标系统直接运行的二进制包。这一过程的技术价值在于实现Python应用的便捷分发与部署,无需用户配置复杂环境。然而,实践中常因路径解析、动态库缺失或运行时差异导致打包失败,尤其在开发环境与生产环境不一致时更为突出。应用场景广泛覆盖桌面应用、工具脚本及数据分析程序的交付。针对ModuleNotFoundError、exe闪退等高频问题,需结合虚拟环境确保依赖

weixin_30908103的博客 371

pyinstaller打包exe时,读取ini配置文件报错:No Section Error “XXX”

pyinstaller打包py工程: 1. 进入入口文件*.py目录 cd F:/TestPy/com/main/py/view/ 2.将入口文件打包 pyinstaller -F -w *.py -w 如果是GUI界面,会不弹出命令行cmd窗口 如果不带这个参数,执行exe文件时会打开一个命令行窗口,显示log。 3.打包后会在目录里生成两个文件夹dist和build,exe文件...

30岁的初级程序员 4627

Python打包EXE实战指南:PyInstaller、cx_Freeze与Nuitka深度对比

Python作为一门解释型语言,其代码运行依赖于Python解释器环境,这给软件分发带来了挑战。为了解决用户无需安装Python环境即可运行程序的问题,代码打包技术应运而生。其核心原理是通过工具将Python脚本、解释器及依赖库封装成独立的可执行文件,实现跨平台分发。这项技术的核心价值在于简化部署流程,提升软件交付效率,尤其适用于数据分析工具、自动化脚本和桌面应用等场景。在众多打包工具中,PyInstaller以其新手友好的特性和活跃的社区生态成为首选,而cx_Freeze则适合需要明确配置管理的项目。对于

weixin_30887919的博客 323

Python EXE解包与逆向分析:从打包原理到实战反编译

在软件分发与安全审计领域,理解可执行文件的内部结构是一项基础且关键的技能。打包工具通过将源代码、依赖库和运行时环境封装成单一可执行文件,实现了便捷部署,但其内部机制往往涉及字节码编译、资源嵌入和运行时引导。从技术原理层面,这涉及到对PE文件结构、Python字节码格式以及归档封装方式的理解。掌握解包技术不仅有助于进行软件安全审计、排查恶意代码,还能在源码丢失时恢复关键业务逻辑,或对遗留系统进行维护升级。通过分析PyInstaller等工具生成的EXE文件,可以提取内嵌的.pyc字节码文件,再借助反编译工具将

weixin_34258838的博客 336

pyinstaller打包exe,运行时读取配置文件报错:NoSectionError,windows

原因是当打包成Windows环境下的exe寻址配置文件(如config.ini),在运行时候系统路径使用了写死的相对路径导致。pyinstaller打包exe,运行时读取配置文件报错:NoSectionError: No section: 'xxx'Python的configparser读写配置文件_zhangphil的博客-优快云博客。Python的configparser读写配置文件。

Zhang Phil 2080

Python脚本打包成EXE:PyInstaller完整指南与实战避坑

在软件开发和自动化工具交付中,将脚本程序打包成独立可执行文件是常见的工程需求。其核心原理是通过静态分析和资源捆绑,将解释型语言的运行时环境、依赖库和源代码整合为单一可执行文件,从而实现跨平台分发和简化部署流程。这项技术对于交付给非技术用户、部署到无原生环境的服务器以及保护知识产权具有重要价值,尤其在数据科学、自动化运维和桌面应用开发等场景中应用广泛。本文以PyInstaller这一主流工具为例,深入解析其通过虚拟环境管理依赖、处理动态导入模块、优化打包体积等关键技术要点,并针对GUI程序控制台处理、数据文件

weixin_34186128的博客 339

Python打包为exe的完整指南:PyInstaller实战技巧

Python程序打包是将脚本转换为独立可执行文件的关键技术,核心解决环境依赖问题。通过PyInstaller等工具,开发者可以将Python应用打包为exe文件,无需用户安装Python环境即可运行。这一技术特别适用于需要分发给非技术用户的场景,如企业内部工具、客户端应用等。PyInstaller作为主流打包工具,支持跨平台操作,能自动处理第三方库依赖,并生成单个exe文件。在实际工程中,合理使用虚拟环境和UPX压缩可以有效控制打包体积,而通过spec文件配置可以处理复杂项目的资源文件和多模块导入问题。掌握

weixin_34109408的博客 316

CAD插件--autocad和中望cad都可用.rar

CAD插件--autocad和中望cad都可用.rar

Batchplot_3.6.1批量打印插件-基于秋枫版修改

基于秋枫Batchplot优化修改,更加易用,搭配PdfFactory Pro使用会更完美

PyInstaller打包Python脚本成exe的路径问题与解决方案

Python脚本打包成exe是在无Python环境下分发工具的常见需求,PyInstaller则是这一场景中使用最广泛的工具。然而打包前后的运行环境差异巨大,单文件模式下程序会在临时目录中解压依赖,导致基于__file__或工作目录的路径定位方式全部失效,进而引发配置文件丢失、资源读取失败等经典问题。理解sys.executable与sys._MEIPASS在打包后的真实含义,掌握两者的适用边界,是正确解决资源路径问题的技术关键。无论是需要将图标、模板等静态资源打进exe,还是将外部配置、日志文件放在exe

weixin_34034670的博客 401

AutoCAD批量打印工具 (Batchplot) V3.5.8

AutoCAD批量打印工具 (Batchplot) V3.5.8

上一篇: 安装matlab2018a出现两个DVD安装目录,下载DVD1弹出需要DVD2咋解决
下一篇: wxpython使用控件bSizer运行报错:Vertical alignment flags are ignored in vertical sizers
草莓仙生
博客等级 码龄8年 2033粉丝 224原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

草莓仙生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值