PaddleOCR pyinstaller6 打包后报错的解决

今天在linux使用pyinstaller打包paddleocr服务,发现了一个错误,在此记录一下错误解决方案

运行环境

Linux kylinv10 4.19.90-25.41.v2101.ky10.aarch64 #1 SMP Thu Jun 20 18:08:20 CST 2024 aarch64 aarch64 aarch64 GNU/Linux
paddleocr==2.9.1
paddlepaddle==2.6.2
pyinstaller==6.11.1

错误信息

from paddleocr import PaddleOCR

<frozen importlib._bootstrap> 1007 _find_and_load


<frozen importlib._bootstrap> 986 _find_and_load_unlocked


<frozen importlib._bootstrap> 680 _load_unlocked


pyimod02_importers.py 384 exec_module


__init__.py 14 <module>
from .paddleocr import (

<frozen importlib._bootstrap> 1007 _find_and_load


<frozen importlib._bootstrap> 986 _find_and_load_unlocked


<frozen importlib._bootstrap> 680 _load_unlocked


pyimod02_importers.py 384 exec_module


paddleocr.py 21 <module>
from paddle.utils import try_import

<frozen importlib._bootstrap> 1007 _find_and_load


<frozen importlib._bootstrap> 986 _find_and_load_unlocked


<frozen importlib._bootstrap> 680 _load_unlocked


pyimod02_importers.py 384 exec_module


__init__.py 28 <module>


<frozen importlib._bootstrap> 1007 _find_and_load


<frozen importlib._bootstrap> 986 _find_and_load_unlocked


<frozen importlib._bootstrap> 680 _load_unlocked


pyimod02_importers.py 384 exec_module


__init__.py 36 <module>


<frozen importlib._bootstrap> 1007 _find_and_load


<frozen importlib._bootstrap> 986 _find_and_load_unlocked


<frozen importlib._bootstrap> 680 _load_unlocked


pyimod02_importers.py 384 exec_module


core.py 418 <module>


core.py 410 set_paddle_lib_path


TypeError:
sequence item 0: expected str instance, NoneType found

错误原因

paddle/base/core.py 410行 site_dirs 路径错误了

解决问题

判断是否pyinstaller打包后的运行环境,如果是的话,将_internal目录加入到site_dirs,这样后面的路径查找就没问题了.

最终的打包脚本如下:

pack_dir=".venv/lib/python3.9/site-packages"
pyinstaller.exe -D --clean \
    --collect-all paddleocr \
    --add-data "$pack_dir/paddle/libs:./paddle/libs" \
    --hidden-import albumemtations \
    --hidden-import docx \
    --hidden-import pyclipper \
    --hidden-import imghdr \
    --hidden-import skimage \
    --hidden-importl imgaug \
    --hidden-import scipy.io \
    --hidden-import lmdb \
    server.py

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值