在使用pyinstaller进行python项目打包过程中遇到的问题及解决方法
在使用pyinstaller进行python项目打包过程中遇到的问题及解决方法
- 基本命令:
pyinstaller --hidden-import=pkg_resources --add-data resources;resources --add-data zx;zx -F -w -i D:/tubiao.ico main.py -p mineblock.py -p pic_lunbo.py
–hidden-import=pkg_resources不太清楚是什么意思
–add-data将项目需要的资源(图片、视频等)一并打包,注意
resources;resources表示将当前目录下的resources文件全部打包,打包后的名称依然为resources,其中中间的符号在windows上是分号,在mac上是冒号,该符号可以多次使用,添加多个资源
-F 表示打包后只剩一个exe文件
-w 表示打包后运行exe文件时不出现命令行窗口,一般在调试时不使用该参数,方便在出现的命令行中观察错误信息,当确定没有问题后再使用-w参数
-i D:/tubiao.ico 表示使用自定义的图片作为exe文件的图标,注意只能使用ico格式的图片
main.py -p mineblock.py -p pic_lunbo.py
表示入口文件为main.py 入口文件使用了其他的python文件:mineblock.py和pic_lunbo.py
- 项目中需要用到文件路径的地方不能写成相对路径或者绝对路径,二者均在打包后的exe文件中无法被识别,要用到一个系统路径,已经封装在如下函数中,使用相对路径作为参数传入函数
def get_resource_path(relative_path):
if hasattr(sys, '_MEIPASS'):
return os.path.join(sys._MEIPASS, relative_path)
return os.path.join(os.path.abspath("."), relative_path)
![使用系统路径进行资源调用](https://img-blog.csdnimg.cn/2021052015235976.png)
希望大家能有所收获,也希望我能变得更好。