作者:魔帝君 | 来源:互联网 | 2023-10-17 13:27
在网上查了好久相关的教程都没有详细的说明,于是自己去pyinstaller的官网按照教程做了一下,大概理出了点思路,如下: 基本介绍:data.txt是你要打包的文件,TestRe
在网上查了好久相关的教程都没有详细的说明,于是自己去pyinstaller的官网按照教程做了一下,大概理出了点思路,如下:
基本介绍:data.txt是你要打包的文件,TestRe.py是你的程序主入口文件,TestRe.spec就是pyinstaller在本地生成的spec配置文件(cmd命令行将系统路径切换到此路径,然后输入pyinstaller -F -c TestRe.py就可以生成此spec文件),Utils.py就是实际使用data.txt的文件。
spec文件编辑:打开TestRe.spec如图,将你要打包到exe中的图片或者文件按照如图的元组格式放入到datas结构中,元组内的第一个字符串表示此文件相对于TestRe.py的位置,同目录的话就“data.txt”即可,如果data.txt是在venv文件夹内,那么这个字符串就是“venv\data.txt"(斜杠应该不分方向,自己试一下),第二个字符串就是程序实际运行时你要找这个文件的位置,程序在运行时会在系统内部生成一个临时目录,图中的"."表示就在此临时目录下找这个文件,如果要在临时目录下的venv文件夹内找,则第二个字符串就是"venv"即可。
程序中获取运行时路径:
红框方法获取到的时此python文件的目录(打包前是此文件目录,打包后就是程序运行时的临时目录),比如这个python文件是Utils.py,应为Utils.py和TestRe.py即主入口同一目录,那么得到的目录就是程序运行临时目录,那么根据你spec的datas配置,拼接路径即可;如果此python文件是venv目录下的,那么此方法得到的path就是临时目录/venv,具体再拼接路径。