分享

paddleocr打包exe全过程详细介绍,包括遇到的问题及解决方案

 hncdman 2022-05-25 发布于湖南


首先要保证paddleocr正确部署,并且能够在电脑上正常运行。

其次会用到一个叫pyinstaller的库,通过pip安装

pip install pyinstaller


基础的命令是pyinstaller -D xxx.py。

其中,xxx.py是要打包的入口程序。关于pyinstaller的其他命令请自行百度,这里选择-D参数,会生成xxx.spec和xxx.exe程序,其中exe程序在dist/paddleocr文件下。后面大致流程是通过命令行运行exe看报错进行修改。

错误1:ModuleNotFoundError: No module named 'framework_pb2’

这个解决办法是将环境中paddle和skimage包copy到exe程序同级目录下,这个操作比较直接,可能会把不想关的也移进去,但是解决问题啊。

错误2:ModuleNotFoundError: No module named 'ppocr’

将环境下ppocr文件copy移过去,同上

错误3:ModuleNotFoundError: No module named 'imghdr’

注意这个是py文件,环境里也能找到。

错误4:FileNotFoundError: [Errno 2] No such file or directory: 'default_config.yaml’

代码中如果有调用yaml参数的操作时需要对该文件同级目录下__init__文件修改下:

def get_default_config():

#注释掉第一句,改成第二句

    #config_file = osp.join(here, "default_config.yaml")

    config_file='default_config.yaml'


然后将yaml文件放置于exe同级目录下即可。

错误5:subprocess的错误。也是运行出现多个exe的问题

在虚拟环境下的这个文件中envs\paddle2.0\Lib\site-packages\paddle\dataset\image.py

if six.PY3:

    import subprocess

    import sys

    import_cv2_proc = subprocess.Popen(

        [sys.executable, "-c", "import cv2"],

        stdout=subprocess.PIPE,

        stderr=subprocess.PIPE)

    out, err = import_cv2_proc.communicate()

    retcode = import_cv2_proc.poll()

    if retcode != 0:

        cv2 = None

    else:

        import cv2

else:

    try:

        import cv2

    except ImportError:

        cv2 = None


屏蔽以下代码,留下最后几行:

# if six.PY3:

#     import subprocess

#     import sys

#     import_cv2_proc = subprocess.Popen(

#         [sys.executable, "-c", "import cv2"],

#         stdout=subprocess.PIPE,

#         stderr=subprocess.PIPE)

#     out, err = import_cv2_proc.communicate()

#     retcode = import_cv2_proc.poll()

#     if retcode != 0:

#         cv2 = None

#     else:

#         import cv2

# else:

#     try:

#         import cv2

#     except ImportError:

#         cv2 = None

try:

    import cv2

except ImportError:

    cv2 = None

————————————————

版权声明:本文为CSDN博主「nbfw123」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/nbfw123/article/details/123056593

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多