报错:
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版本