整理Pyinstaller遇到的几个坑

1:Pyaudio模块
因为这个项目是用pygame+pyaudio做的,所以需要安装这两个库,但是pyaudio直接使用pip install命令会报错,需要到这个地方下载whl文件手动安装。
pyaudio下载链接

2:Pyinstaller
这个库我大概半年前使用成功过,最近一段时间不停报错,困扰了我好久好久,直到看到一篇2月的博客:
解决failed to execute script pyi_rth_pkgres的问题
这个是真的帮了大忙了,确实要用github上面最新的包来安装

3:Pyinstaller命令
通常要打包的项目,大多数都不止一个py文件,所以在使用pyinstaller命令进行打包时,需要对多个py文件进行封装

首先是 -F 打包成单独的exe文件,其次是 -F 和 -Fw,建议第一次打包时使用-F,如果一次运行成功,再把编译文件删除,重新使用-Fw封装。因为-w是为了在运行时不显示命令行窗口,但是如果安装过程中出错,需要查看报错信息,就必须要命令行窗口,所以第一次打包建议使用-F

-i是给exe文件添加ico格式的图标,可以去百度jpg转ico的网站

所以最后的命令应该类似于:

pyinstaller -F demo.py demo2.py demo3.py -i organ.ico

这样子

4:py文件中有调用到资源文件
如果py里面使用的是相对路径,且是os.getcwd() + '\xxx’这样的方式,那么在运行exe文件时,os.getcwd()实际上就是在dist文件夹里面,所以需要把所有的资源文件复制一份,copy到dist目录下和exe文件对齐。

你可能感兴趣的:(整理Pyinstaller遇到的几个坑)