我用的是 pyinstaller 的 -D 模式打包
pyinstaller -D -w ocr.py
在打包完后打开代码文件目录下生产的 dist 文件夹内的 ocr.exe 文件报了下面的错.
\\dist\\ocr\\paddle\\fluid\\..\\libs
解决这个问题方法就是直接把 python 目录下的 paddle 和 paddleocr 文件放到打包好的 exe 文件目录下.
Python\Python38\Lib\site-packages\paddle
Python\Python38\Lib\site-packages\paddleocr
这个问题解决后又会陆续的出现下列的问题
ModuleNotFoundError: No module named 'shapely'
ModuleNotFoundError: No module named 'pyclipper'
ModuleNotFoundError: No module named 'skimage'
ModuleNotFoundError: No module named 'pywt'
ModuleNotFoundError: No module named 'imgaug'
ModuleNotFoundError: No module named 'imageio'
ModuleNotFoundError: No module named 'fasttext'
ModuleNotFoundError: No module named 'lmdb'
ModuleNotFoundError: No module named 'imghdr'
ModuleNotFoundError: No module named 'fasttext_pybind'
ImportError: cannot import name 'signal' from 'scipy' (E:\Code\python\OCR\dist\ocr\scipy\__init__.pyc)
因为 paddleocr 要调用的库太多了, pyinstaller 没有把所有的模块都打包进去,这时就要我们手动把它所需要的模块移入程序的文件夹内.当你不知道模块的位置时可使用下面的方法
>> import shapely # 用的报第一个错的模块
>> shapely.__file__
>> 他就会返回该模块在你电脑的位置