当我们使用paddleNLP完成业务开发后,需要将PaddleNLP打包成在Windows操作系统上可执行的exe程序。操作流程:
1.环境准备:
python环境:3.7.4
2.安装Pyinstaller
pip install pyinstaller
3.目录结构,main.py为可执行python文件。requirements.txt管理了所有的依赖。
4.使用Pyinstaller将python程序打包为exe
pyinstaller -D main.py
5.打包成功了,但运行报错:
# No module named 'framework_pb2'
解决方案:
将在你环境中的Lib下的site-packages下面的paddle中fluid中的proto拷贝到你打包好的文件目录下面的paddle中的fliud中 本人的是D:\python\imgScan\venv\Lib\site-packages\paddle\fluid\proto 放到 D:\python\imgScan\dist\imgGrab\paddle\fluid中即可
6.又报错:
解决方案是在你conda的paddleNLP的paddle下面dataset里面的image.py 改成这样(重点是shell=True),然后重新打包
7.还是报错:
解决方案是在你envs\condaNames\Lib\site-packages 全部拷贝到打包后的dist\main下。
8.整个dist\main文件夹就可以拷走直接运行了。
参考:PaddleOcr 在用pyinstaller打包的过程中的遇到问题的成功解决方案汇总 - 掘金