它只发生在 numpy 1.16,numpy 1.15 工作正常
Using TensorFlow backend.
Traceback (most recent call last):
File ".\predict.py", line 4, in <module>
from frontend import YOLO
File "C:\RepositoriosGit\keras-yolo2\frontend.py", line 8, in <module>
from preprocessing import BatchGenerator
File "C:\RepositoriosGit\keras-yolo2\preprocessing.py", line 1, in <module>
from imgaug import augmenters as iaa
File "C:\Program Files\Python36\lib\site-packages\imgaug\__init__.py", line 2, in <module>
from imgaug.imgaug import *
File "C:\Program Files\Python36\lib\site-packages\imgaug\imgaug.py", line 22, in <module>
import skimage.draw
File "C:\Program Files\Python36\lib\site-packages\skimage\__init__.py", line 167, in <module>
from .util.dtype import (img_as_float32,
File "C:\Program Files\Python36\lib\site-packages\skimage\util\__init__.py", line 8, in <module>
from .arraycrop import crop
File "C:\Program Files\Python36\lib\site-packages\skimage\util\arraycrop.py", line 8, in <module>
from numpy.lib.arraypad import _validate_lengths
ImportError: cannot import name '_validate_lengths'
>>> import sys, numpy; print(numpy.__version__, sys.version)
1.16.0 3.6.8 (tags/v3.6.8:3c6b436a57, Dec 24 2018, 00:16:47) [MSC v.1916 64 bit (AMD64)]
是的,看起来这在 numpy 1.16.0 中消失了。 但是,正如您可能注意到的那样,该函数有一个前置下划线,这意味着 scikit-image 导入该函数有点顽皮。
这里有一个 scikit-image 问题: https :
关闭支持该问题。
谢谢@matthew-brett 的快速回答。
是的,看起来这在 numpy 1.16.0 中消失了。 但是,正如您可能注意到的那样,该函数有一个前置下划线,这意味着 scikit-image 导入该函数有点顽皮。
正确的。 顺便说一下,这个函数最初来自 scikit-image,后来移植到 NumPy,后来我们没有很好地清理。 我认为与解决这个问题相关的痛苦将是一个生动的提醒,以后不要再这样做了。
v0.14.2 已经发布并解决了这个问题。
你好,有同样的问题。 只需更新所有软件包。
Successfully installed PyWavelets-1.0.2 backports.functools-lru-cache-1.5 cloudpickle-0.8.0 cycler-0.10.0 dask-1.1.3 decorator-4.3.2 kiwisolver-1.0.1 matplotlib-2.2.4 networkx-2.2 numpy-1.16.2 pillow-5.4.1 pyparsing-2.3.1 python-dateutil-2.8.0 pytz-2018.9 scikit-image-0.14.2 scipy-1.2.1 setuptools-40.8.0 six-1.12.0 subprocess32-3.5.3 toolz-0.9.0
有人可以帮我解决这个问题吗?
请报告以下输出:
import skimage
print(skimage.__version__)
我有这个
ImportError: cannot import name '_validate_lengths' from 'numpy.lib.arraypad' (/home/liza/anaconda3/lib/python3.7/site-packages/numpy/lib/arraypad.py)
@stefanv如果他有 scikit-image-0.14.2(在你之前的评论中)有意义吗?
对不起,我的大脑显然在放假。
0.14.2 修复了这个问题,所以我想正在导入另一个版本的库。 但我不知道如何证明这一点,因为之前的评论说明了相反的情况。
我已经解决了这个问题,只需使用conda install -c conda-forge scikit-image
,而不是pip install -U scikit-image
我已经解决了这个问题,只需使用
conda install -c conda-forge scikit-image
,而不是pip install -U scikit-image
那为我解决了
导入错误:无法从 'numpy.lib.arraypad' 导入名称 '_validate_lengths' (C:\Users\basant\Anaconda3\lib\site-packages\numpy\libarraypad.py)
我有这个问题任何人请给出解决方案
@pandagre请确保您安装了最新版本的 scikit-image。 如果您仍然遇到问题,请打开一个新问题,我们会尽力提供帮助。
我已经解决了这个问题,只需使用
conda install -c conda-forge scikit-image
,而不是pip install -U scikit-image
这对我有用,谢谢。
我使用了 conda install -c conda-forge scikit-image 但我得到的版本是 0.14.0。 我仍然有无法导入名称 '_validate_lengths' 的问题
@yexing99请尝试安装最新版本的 scikit-image 和 numpy。 众所周知,这种组合是有效的。 否则,请打开一个新问题并帮助我们在那里调试您的设置,提供所有版本号。
# The following worked fine for me
pip install -U scikit-image
安装收集的包:scikit-image
找到现有安装:scikit-image 0.14.1
卸载 scikit-image-0.14.1:
成功卸载 scikit-image-0.14.1
成功安装 scikit-image-0.15.0
python -c "import skimage"
# No errors, as expected
我已经解决了这个问题,只需使用
conda install -c conda-forge scikit-image
,而不是pip install -U scikit-image
由于 conda 安装对我来说太慢了,我尝试了pip install -U scikit-image
并且它也有效。
pip install -U scikit-image
这对我有用。
呀一样,
pip install -U scikit-image
这对我有用。
最有用的评论
我已经解决了这个问题,只需使用
conda install -c conda-forge scikit-image
,而不是pip install -U scikit-image