python py2exe打包后执行报错 ConfigParser.NoSectionError: No section:xx

问题描述:

  1. 打包前,直接本地执行python脚本,可以正常执行
  2. 使用python py2exe打包成exe,再执行,生成报错log,如下
  3. 在这里插入图片描述
  4. 报错的“via”是我打上个exe的python脚本中定义的变量,不是当前打包的python脚本中定义的(我一天打了两个工具包,第一个打包正常,第二个就报错,报的还是第一个脚本里的变量,此处很诡异,百思不得其解)
  5. 尝试重启电脑,依然无法解决
  6. 网上查这个报错,说可能是ConfigParser要解析的ini文件读不到

解决办法:
1.原先脚本中把自定义的配置文件Config.ini路径写成相对路径,代码如下:
#设置配置文件路径,读取配置文件
Configfile=“Config.ini”
config = ConfigParser.ConfigParser()
config.readfp(codecs.open(Configfile, “r”, “utf-8-sig”))#配置文件中包含中文
2.把相对路径改成绝对路径:
#设置配置文件路径,读取配置文件
file_path1= os.getcwd()
file_path=file_path1+"\Config.ini"
#Configfile=“Config.ini”
config = ConfigParser.ConfigParser()
config.readfp(codecs.open(file_path, “r”, “utf-8-sig”))#配置文件中包含中文
3.重新打包,执行正常

注:
虽然解决了问题,但是对于问题产生的原理不甚了解
比如:
1.为什么我打包很多次了,以前都没出现识别不到相对路径的情况?
2.为什么打第一个包能识别到ini文件(当时用的相对路径),打第二个包就不行了?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值