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的文件夹或文件。。。
再补充下其他测试情况:
- 在当前文件夹下,执行命令python,进入python3.7的环境,结果测试from paddleocr import PaddleOCR, paddleocr的命令,是正常导包的。
- web的子文件夹下,包含了__init__.py的空白文件
我后面自己手动处理了下,将/usr/local/lib/python3.7/dist-packages/paddleocr文件夹下的paddleocr.py文件,进行了重命名,更改为paddle_OCR.py,同时在paddleocr的文件夹下,修改__init__.py内修改抬头的几处:
- from .paddleocr import * 中的paddleocr 修改成paddle_OCR
- paddleocr.VERSION 也同时修改成 paddle_OCR.VERSION
这样确保多进程模式下,循环导包不会报错(也就是确保指向的时候将paddleocr的文件夹,和原paddleocr.py分开)好像就可以解决问题了。。
同级目录下,执行当前的py文件导包会报错,执行子文件夹的py文件,却是正常的??求大佬指点。。实在想不通。。----确认过,本地文件夹下,没有paddleocr的文件夹或文件。。。
这个有点奇怪,没能复现这个问题,可以看下是不是当前目录下有一个paddleocr或者PaddleOCR目录导致冲突了,我这边可以正常import
看过了,没有这种文件夹。。我试了很多次的。。后面怀疑是我的代码应用了多进程,导致的。。看前面的截图报错,可以看出来,事先启动了多进程。导致后面的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.