赞
踩
skimage 报错
from skimage import io
报错信息如下:
cannot import name '_validate_lengths' from 'numpy.lib.arraypad'
numpy的版本问题,导致_validate_lengths()
函数被删除。
numpy降级。
降到一个保留有_validate_lengths()
函数的版本。具体哪个版本并不清楚。
其实skimage中给出了解决方案。
在skimage中保留了缺少的_validate_lengths
函数,将其复制到numpy的对应位置即可!
方案2的好处:对任意numpy版本均可用,而不用把numpy限制在一个低版本。
仅进行方案2。
找到arraycrop.py
文件。
文件位置(Linux):
/home/hgx/lib/python3.7/site-packages/skimage/util/arraycrop.py
复制其中被注释掉的函数
_normalize_shape()
。_validate_lengths()
。这就是numpy缺少的函数!打开arraypad.py
文件
文件位置(Linux):
/home/hgx/lib/python3.7/site-packages/numpy/lib/arraypad.py
在最后加入在arraycrop.py
复制的两个函数,并取消注释,保存。
重启
IndentationError: unindent does not match any outer indentation level
解决方式见:[bug解决] IndentationError unindent does not match any outer indentation level
参考:完美解决cannot import name ‘_validate_lengths’ from 'numpy.lib.arraypad’错误
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。