其他分享
首页 > 其他分享> > pyinstaller 打包配置文件

pyinstaller 打包配置文件

作者:互联网

接下来就是资源文件或者配置文件与python程序一起打包了。

Step1. 

生成spec文件

1 pyi-makespec -F -i tubiao.ico Test.py

运行命令后会在当前文件夹下生成Test.spec 文件

Step2.

编辑Test.spec文件

在Test.py中我们需要去读取当前文件夹下Conf.json 配置文件,如果此文件不存在,则退出程序。

现在将Conf.json打包进exe中(程序中需要对路径做处理,即(二)中提到的路径处理函数).

修改Test.spec 为:

在data中将资源文件或者配置文件添加进去。

Step3.

打包spec文件

1 pyinstaller Test.spec

打包完成,无任何报错信息,生成的exe在dist中,测试Test.exe,将其拷贝至没有Conf.json的文件夹下运行,程序正常运行,打包成功。

pyinstaller打包后,配置文件无法正常读取问题

1 2 3 4 5 import os file = os.path.dirname(os.path.abspath(__file__)) cf = configparser.ConfigParser() print(file) cf.read(file+'/data.ini')

先获取绝对路径在读取

 

 

 

pyinstaller打包成exe之后,获取exe路径

 

文件路径  C:\Users\寒寻\Documents\gamefi\createNewETHAddress\createNewETHAddress.py


print(os.path.realpath(sys.argv[0]))

C:\Users\寒寻\Documents\gamefi\createNewETHAddress\createNewETHAddress.py


print(os.path.realpath(sys.executable))

 C:\ProgramData\Anaconda3\envs\gamefi\python.exe


print(os.path.dirname(os.path.realpath(sys.argv[0])))

C:\Users\寒寻\Documents\gamefi\createNewETHAddress


print(os.path.dirname(os.path.realpath(sys.executable)))

C:\ProgramData\Anaconda3\envs\gamefi


如果直接使用__file__,在打包成exe之后是无法获取文件路径的

标签:exe,pyinstaller,配置文件,Test,path,os,spec,打包
来源: https://www.cnblogs.com/xiondun/p/16380870.html