PaddlePaddle / PaddleOCR

Awesome multilingual OCR toolkits based on PaddlePaddle (practical ultra lightweight OCR system, support 80+ languages recognition, provide data annotation and synthesis tools, support training and deployment among server, mobile, embedded and IoT devices)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

paddleocr导包时发现奇怪的报错情况

lmw0320 opened this issue · comments

请提供下述完整信息以便快速定位问题/Please provide the following information to quickly locate the problem

  • 系统环境/System Environment:
  • docker环境 --- registry.baidubce.com/paddlepaddle/paddle:2.3.0
  • 版本号/Version:Paddle: PaddleOCR:2.5.0.3 问题相关组件/Related components:
  • 运行指令/Command Code:
  • python runserver.py
  • 完整报错/Complete Error Message:
    同级目录下,执行当前的py文件导包会报错,执行子文件夹的py文件,却是正常的??求大佬指点。。实在想不通。。----确认过,本地文件夹下,没有paddleocr的文件夹或文件。。。
    1
    2

再补充下其他测试情况:

  1. 在当前文件夹下,执行命令python,进入python3.7的环境,结果测试from paddleocr import PaddleOCR, paddleocr的命令,是正常导包的。
  2. web的子文件夹下,包含了__init__.py的空白文件

我后面自己手动处理了下,将/usr/local/lib/python3.7/dist-packages/paddleocr文件夹下的paddleocr.py文件,进行了重命名,更改为paddle_OCR.py,同时在paddleocr的文件夹下,修改__init__.py内修改抬头的几处:

  1. from .paddleocr import * 中的paddleocr 修改成paddle_OCR
  2. paddleocr.VERSION 也同时修改成 paddle_OCR.VERSION
    这样确保多进程模式下,循环导包不会报错(也就是确保指向的时候将paddleocr的文件夹,和原paddleocr.py分开)好像就可以解决问题了。。

同级目录下,执行当前的py文件导包会报错,执行子文件夹的py文件,却是正常的??求大佬指点。。实在想不通。。----确认过,本地文件夹下,没有paddleocr的文件夹或文件。。。

这个有点奇怪,没能复现这个问题,可以看下是不是当前目录下有一个paddleocr或者PaddleOCR目录导致冲突了,我这边可以正常import
image

同级目录下,执行当前的py文件导包会报错,执行子文件夹的py文件,却是正常的??求大佬指点。。实在想不通。。----确认过,本地文件夹下,没有paddleocr的文件夹或文件。。。

这个有点奇怪,没能复现这个问题,可以看下是不是当前目录下有一个paddleocr或者PaddleOCR目录导致冲突了,我这边可以正常import image

看过了,没有这种文件夹。。我试了很多次的。。后面怀疑是我的代码应用了多进程,导致的。。看前面的截图报错,可以看出来,事先启动了多进程。导致后面的paddleocr,指向从文件夹paddleocr,变成了指向paddleocr.py。。。
我后面还去测试了下,同样从paddeocr的其他相关多进程的issue中,找到了解决方法。就是导包的时候,不从文件抬头导入。而是在函数内部设置导包操作,就可以正常导包了(也不用像我上面提到的那样,去修改源码中的paddleocr.py及其相关的__init.py文件.
如果只是单纯测试from paddleocr import paddleocr,是不会有这个问题的。需要关联上多进程,才可能复现出来

This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 7 days if no further activity occurs. Thank you for your contributions.