多语言展示
当前在线:1934今日阅读:155今日分享:35

Python | Pyinstaller打包之依赖文件

如果需要打包的脚本包含依赖文件的话,这个经验就是用来处理这个问题的。
工具/原料
1

Python2.7.11

2

Pyinstaller 3.1.1

方法/步骤
1

首先,不熟悉pyinstaller打包exe应用的同学,看下面的文章。这个文章介绍的打包文件,spec文件就是后面需要讨论的目标。

2

回到应用。笔者打包的exe应用需要加载一个logo.png的文件。没有这个文件程序是不能运行的。

3

虽然我们的代码里面是有提到这个图片文件的,但是打包的时候,pyinstaller并不知道这个路径的变化。

4

简单的解决办法就是把依赖文件,也就是这个图片,从原来代码运行目录下,拷贝到生成应用的目录下面,这样应用就可以运行了

5

但是每次都要手动操作一次,未免太麻烦。而且依赖文件较多的话,就更麻烦了。所以我们再次找到万能的spec文件。

6

看到左右两边的datas参数。左边是原来的参数,右边是增加了依赖文件路径的参数。使用pyinstaller重新打包这个修改后的spec文件,图片文件就自动拷贝过去了

7

详细介绍一下这个datas参数右边列表元素代表的意思哈:[('C:\\Users\\hugebig\\Desktop\\Adbc\\logo.png','')]。为了方便描述,我们把这个列表写作——[(a,b)]。a表示依赖所在的文件夹路径或者文件路径,如果a表示文件夹路径,那么文件夹下面的所有文件都会被拷贝到应用文件夹;b表示应用文件夹下的目标路径,笔者这里b参数空缺表示依赖文件全部拷贝到根目录下。如果要拷贝到特定的目录下,那么需要写作‘.\\icon’。下面就是修改之后的结果。

推荐信息