先说结论,直接打包.py文件,并把.ini复制到同路径就能成功运行了。
在发布exe程序时的配置文件选择有多种选择,对于python来说,yaml似乎是最为好用和合适的,由于本项目小型且简易,笔者选择了最直接暴力的ini配置方法。
一、配置文件的读写
直接创建以.ini结尾的文件,内容格式如下:
[section]
key = value
注意点:通过ini读取的值均为字符串,因此数值需要进行转换
通过configparser模块实现对配置文件参数的调用,具体可见该链接:
Python之ini配置文件详解_python ini-CSDN博客
二、配置文件的打包
python打包exe文件的方式也有多种,这里选择pyinstaller
一些安装及配置环境教程如下:使用VScode编写python程序并打包成.exe文件 - frank1901s - 博客园 (cnblogs.com)
参数说明:参考链接Python生成exe和安装包之Pyinstaller带参数【只看这篇就够了】_pyinstaller -p参数-CSDN博客)
-h | 该模块的help信息 |
---|---|
-F/--onefile | 打包单个文件,实测只生成一个可执行文件(不输默认生成目录),启动速度慢 |
-D/--onedir | 打包多个文件,用“,”分隔,会生成一个目录,启动速度快 |
-w | 运行exe时,不显示命令行窗口(仅对Windows有效) |
-i | 该参数后跟可执行文件的icon图标路径 |
–distpath | 该参数后跟可执行文件的路径 |
-n | 该参数后跟可执行文件的新名字 |
-d/--debug | 产生debug版本的可执行文件 |
本文的测试文档为TEST.py+config.ini,输入
pyinstaller -w -F TEST.py
会生成build,dist文件夹和.spec文件,其中可执行文件在dist文件夹里,build是打包过程生成的临时文件夹,.spec文件可对exe程序进行配置,文件会把要打包的脚本和使用的打包命令进行编码,然后告诉Pyinstaller应该怎么样来进行打包。
网上搜了一堆在spec里配置完,然后再次打包spec更新的方法,后来发现本项目很简单,直接把外部资源放到和EXE同路径就可以了。
因此,直接打包.py文件,并把.ini复制过来就能成功运行了。
而对资源及配置较为复杂的项目,这里贴一个在spec配置的教程: