Pyinstall打包多个.py文件成应用程序的方法:
这里成功打包了两个.py文件,一张图片,一个.h5文件
如图所示:
第一步:生成.spec文件
pyinstaller -c -D main.py -p image_handler.py
这里main.py文件是主文件,通过main.py可以调用image_handler.py文件里的内容。同理,如果有更多.py文件,在后面加上 -p ××.py即可。
第二步:修改.spec文件
a = Analysis(['main.py'],pathex=['image_handler.py', 'C:\\Users\\huawei\\Desktop\\wenjian'],binaries=[],datas=[('res\VGG16.h5','res'),('res/b.jpg','res')],hiddenimports=[],hookspath=[],runtime_hooks=[],excludes=[],win_no_prefer_redirects=False,win_private_assemblies=False,cipher=block_cipher,noarchive=False)
这里修改了pathex和datas里的内容。我是把.h5文件和图片放到一个res文件夹里。
第三步:执行.spec文件
pyinstaller -D main.spec
会看到控制台显示打包成功。
打开新生成的dist文件夹,打开main文件夹
会发现上面的文件夹是我们程序中调用的库,这里都帮我们打包好了。下面就是生成的应用程序文件了。
如果一切正常,我们的程序就打包好了,但是,一般都不会这么顺利(哭泣)。
我遇到过的问题:
1.双击应用程序,出现黑色命令框,然后闪退
(虽然命令框闪退,还是能看到命令框里显示了报错的信息,我用手机录像截下了命令框里的内容,可以看到我的错误是.h5文件没找到,修改路径,再次打包,就可以啦)
2.执行.spec文件时显示打包错误
(最可能的原因是第二步datas里面的内容修改的不对)