今天用pyinstaller打包后,执行exe提示filenotfounderror,看了一下,程序里用到了一个第三方的cpca包,缺少的是cpca包下的一个csv文件,百度了一下,找了几个方案都没有解决,最后有提到是因为pyinstaller打包时缺失文件,需要手动hook,尝试了一遍,终于成功。
首先,定位到运行环境下pyinstaller目录下的hooks目录,因为我缺失的是cpca包,所以新建一个“hook-cpca.py”文件;
然后,在文件下输入以下内容,第二行不加的话会提示modulenotfound:
from PyInstaller.utils.hooks import collect_data_files
hiddenimports = ["cpca.resources"]
datas = collect_data_files("cpca")
最后重新打包,执行ok,问题解决。