pyinstaller用于将所写的python文件转化为应用程序,避免别人用的时候需要安装python、python包等依赖。
一、安装
pip install pyinstaller
二、使用
1、常规打包方法
- cd进入.py所在文件夹
pyinstaller -w main.py
即可
![5890308-fb1ad502516d7bc1-2.png](https://img-blog.csdnimg.cn/img_convert/f004e5f21fd167121cc269140c4636be.png#align=left&display=inline&height=642&margin=[object Object]&name=5890308-fb1ad502516d7bc1-2.png&originHeight=677&originWidth=633&size=143897&status=done&style=none&width=600)
2、更改图标打包:
cd进入.py所在文件夹
pyinstaller -w -i icon.icon main.py
即可
- 打包图标需要.icon或者.icns格式的图片**(.icon为windows识别,.icns为Mac识别)**
- 图标在不同分辨率显示下需要呈现不同的大小,推荐在图标网站上下载现成图标或者自制图标(参考[《Axalis IconWorkshop破解版安装说明》](https://www.yuque.com/docs/share/5b77c25e-5521-419c-9e1b-92ec820183dc?# 《Axalis IconWorkshop破解版安装说明》))
3、带使用图片的打包
- 如果不打包图片的话:
- Win:需要将所有用到的图片与exe文件放在同一目录下(只需留下exe文件和图片即可)。
- Mac:图片放在Frameworks文件夹下(只需留下exec文件和图片即可)。
- 究极打包图片,推荐参考这篇博文:Pics2py,使用时通过代码在缓存中生成图片,在使用后删除即可(亲测这种方法比较好用)。
三、注意事项
- Mac上只能生成exec和.app文件,Win上只能生成exe文件,两者一般不能相互打开。
- -w表示运行应用程序时不显示命令行窗口(仅限于Windows),在打包出现错误时可以先不加-w,打开时在命令行里会出现报错信息。
- .py代码中图片使用路径最好是使用冻结路径(参考这篇博文:冻结路径)。
- 如果报错检测深度不够则可能需要在生成的main.spec文件里开头添加
import sys;sys.setrecursionlimit(sys.getrecursionlimit()*5)
,再运行pyinstaller main.spec
- 生成的.spec文件中可以vi写入,hiddenmodule里添加不想要的模块
- data里添加查找文件,为二元组形式 (
'nlptest/data/stopwordsFile.txt', 'data/stopwordsFile.txt'
) - 再运行
pyinstaller xxx.spec
即可
- data里添加查找文件,为二元组形式 (