关于pyinstaller生成.exe程序报错:缺少.ini文件的分析
作者:Logintern09 发布时间:2023-12-25 13:43:22
使用指令:pyinstaller -F -w main.py
生成的.exe文件执行报错
看报错信息,初步怀疑是生成的.exe不能执行.ini配置文件。
将程序需要的.ini文件放到.exe同级目录下,虽然还是执行不成功,但是没有上述报错了;删除同级目录下面的.ini文件,上述报错仍然存在,说明初步的判定成立,.exe执行不成功与.ini配置文件有关系。
测试办法
pyinstaller不加参数”-F"和“-w",执行执行指令:pyinstaller main.py
加不加“-F"和”-w"效果的详细说明文章链接:https://www.jb51.net/article/183469.htm
命令行窗口显示报错信息如下
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的常见参数
来源:https://blog.csdn.net/Logintern09/article/details/122241738


猜你喜欢
- 前言不知道大伙有没有看到过这一句话:“中国(疫苗研发)非常困难,因为在中国我们没有办法做第三期临床试验,因为没有病人了。
- 很多小伙伴对于slice参数的概念理解停留在概念上,切片的参数有三个,分别是step 、start 、stop 。因为参数的值也是多变的,所
- 这个程序的功能非常的简单,就是每天在系统中新建一个文件夹。文件夹即当前的时间。此代码是在同事那边看到的,为了锻炼下自己薄弱的Python能力
- 本文实例讲述了C#使用ODBC与OLEDB连接数据库的方法。分享给大家供大家参考,具体如下:using System;using Syste
- 前言:数据库非常重要,程序的数据增删改查需要数据库支持。python处理数据库非常简单。而且不同类型的数据库处理逻辑方式大同小异。本文以sq
- 虽然我只是把豆瓣当作一个纪录工具来用,纪录下自己看过的电影、听过的音乐、读过的书籍,我几乎不关注豆瓣上的任何影评、乐评、音衣服之类的内容,但
- 在项目中经常会遇到需要将不同的二维码放到一张通用图片上,提供用户下载简单来说,就是利用canvas将同等比例的二维码在图片上叠加,生成海报1
- Python之所以这么流行,是因为它不仅能够应用于科技领域,还能用来做许多其他学科的研究工具,绘制地图便是其功能之一。今天我们用matplo
- 前言Python语言的turtle库是一个直观有趣的图形绘制函数库,是python语言标准库之一。turtle库也叫海龟库,是turtle绘
- channelGo语言中的通道(channel)是一种特殊的类型。在任何时候,同时只能有一个 goroutine 访问通道进行发送和获取数据
- eval() 和 exec() 函数都属于 Python 的内置函数,由于这两个函数在功能和用法方面都有相似之处,所以将它们放到一节进行介绍
- 在开始聊我在阿里四个月的网页推广设计之前,我想先来说说我对平面设计和网页设计的认识。它们之间的交集。它们都是集艺术创作、电脑技术和数字技术于
- 一、发送电子邮件Python标准库提供了smtplib,用于实现SMTP协议发送邮件。标准库还提供email模块帮助我们构建邮件格式。SMT
- 本文实例讲述了PHP实现的随机IP函数。分享给大家供大家参考,具体如下:function get_rand_ip(){ $arr
- 最近和Sobin在做一个精品课程的项目,因为用到一个固定的id作为表间关联,所以在前一个表插入数据后要把插入数据生成的自增id传递给下一个表
- 概念所有Python的对象都是扩展的PyObject,python的垃圾回收机制是计算引用,这个对象中定义了py_ssize就是用来做这个事
- pytorch 输出中间层特征:tensorflow输出中间特征,2种方式:1. 保存全部模型(包括结构)时,需要之前先add_to_col
- 参考服务器安装的是Centos 系统。uwsgi是使用pip安装的。nginx是使用yum install nginx安装。python 2
- 本文实例讲述了python将ip地址转换成整数的方法。分享给大家供大家参考。具体分析如下:有时候我们用数据库存储ip地址时可以将ip地址转换
- 前言虽然标题是全站,但目前只做了等级 top 100 直播间的全天弹幕收集。弹幕收集系统基于之前的B 站直播弹幕姬 Python 版修改而来