报错:
Traceback (most recent call last):
File "server.py", line 6, in <module>
from TaskManager import *
File "/home/nvidia/lu/anjian_ocr_server/TaskManager.py", line 4, in <module>
from DetManager import *
File "/home/nvidia/lu/anjian_ocr_server/DetManager.py", line 13, in <module>
from ppocr.data import create_operators, transform
File "/home/nvidia/lu/anjian_ocr_server/ppocr/data/__init__.py", line 23, in <module>
import skimage
File "/usr/lib/python3/dist-packages/skimage/__init__.py", line 158, in <module>
from .util.dtype import *
File "/usr/lib/python3/dist-packages/skimage/util/__init__.py", line 7, in <module>
from .arraycrop import crop
File "/usr/lib/python3/dist-packages/skimage/util/arraycrop.py", line 8, in <module>
from numpy.lib.arraypad import _validate_lengths
ImportError: cannot import name '_validate_lengths'
解决放方法:
sudo vi /usr/lib/python3/dist-packages/skimage/util/arraycrop.py
修改如下:屏蔽from numpy.lib.arraypad import _validate_lengths然后加入
#from numpy.lib.arraypad import _validate_lengths
from distutils.version import LooseVersion as Version
old_numpy = Version(np.__version__) < Version('1.16')
if old_numpy:
from numpy.lib.arraypad import _validate_lengths
else:
from numpy.lib.arraypad import _as_pairs
还有一种方法就是更换Numpy版本
这篇博客介绍了在Python环境中遇到的`ImportError: cannot import name '_validate_lengths'`错误,该错误发生在尝试导入`skimage`库时。解决方案包括编辑`/usr/lib/python3/dist-packages/skimage/util/arraycrop.py`文件,屏蔽原有的导入语句,并根据numpy版本添加条件判断来正确导入模块。此外,还提供了另一种解决方法,即升级或降级Numpy版本以解决不兼容问题。

6592

被折叠的 条评论
为什么被折叠?



