PaddleNLP 如何打包成Windows环境可执行的exe?

当我们使用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:pythonimgScanvenvLibsite-packagespaddlefluidproto 放到 D:pythonimgScandistimgGrabpaddlefluid中即可

6.又报错:

解决方案是在你conda的paddleNLP的paddle下面dataset里面的image.py 改成这样(重点是shell=True),然后重新打包

7.还是报错:

解决方案是在你envscondaNamesLibsite-packages 全部拷贝到打包后的distmain下。

8.整个distmain文件夹就可以拷走直接运行了。

参考:PaddleOcr 在用pyinstaller打包的过程中的遇到问题的成功解决方案汇总 - 掘金