Numpy: no se puede importar el nombre '_validate_lengths'

Creado en 15 ene. 2019  ·  21Comentarios  ·  Fuente: numpy/numpy

ocurre solo con numpy 1.16, numpy 1.15 funciona bien

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'

Información de la versión de Numpy / Python:

>>> 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)]

Comentario más útil

Ya resolví este problema, solo use conda install -c conda-forge scikit-image , no pip install -U scikit-image

Todos 21 comentarios

Sí, parece que esto desapareció en numpy 1.16.0. Pero, como probablemente haya notado, la función tiene un guión bajo al principio, lo que significa que scikit-image estaba siendo un poco travieso al importar esa función.

Hay un problema de imagen de scikit aquí: https://github.com/scikit-image/scikit-image/issues/3649

Cerrando a favor de ese tema.

Gracias @ matthew-brett por su rápida respuesta.

Sí, parece que esto desapareció en numpy 1.16.0. Pero, como probablemente haya notado, la función tiene un guión bajo al principio, lo que significa que scikit-image estaba siendo un poco travieso al importar esa función.

Correcto. Para dar un poco de contexto, esta función provino originalmente de scikit-image, y fue portada a NumPy, y no la limpiamos muy bien después. Creo que el dolor asociado con arreglar esto será un vívido recordatorio de no volver a hacerlo en el futuro.

v0.14.2 se ha lanzado y soluciona el problema.

Hola, tengo el mismo problema. Simplemente actualice todos los paquetes.

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

¿Alguien puede ayudarme a resolver este problema?

Informe el resultado de lo siguiente:

import skimage
print(skimage.__version__)

tengo esto

ImportError: cannot import name '_validate_lengths' from 'numpy.lib.arraypad' (/home/liza/anaconda3/lib/python3.7/site-packages/numpy/lib/arraypad.py)

@stefanv, ¿ tendría sentido si tuviera scikit-image-0.14.2 (en el comentario justo antes del tuyo)?

Lo siento, mi cerebro estaba claramente de vacaciones.

0.14.2 solucionó este problema, así que imagino que se está importando otra versión de la biblioteca. Pero no sé cómo demostrarlo, dado que el comentario anterior dice lo contrario.

Ya resolví este problema, solo use conda install -c conda-forge scikit-image , no pip install -U scikit-image

Ya resolví este problema, solo use conda install -c conda-forge scikit-image , no pip install -U scikit-image

Eso me lo resolvió

ImportError: no se puede importar el nombre '_validate_lengths' de 'numpy.lib.arraypad' (C: \ Users \ basant \ Anaconda3 \ lib \ site-packages \ numpy \ libarraypad.py)

tengo este problema alguien por favor dé la solución para esto

@pandagre Asegúrese de tener instalada la última versión de scikit-image. Si sigues teniendo problemas, abre una nueva edición e intentaremos ayudarte.

Ya resolví este problema, solo use conda install -c conda-forge scikit-image , no pip install -U scikit-image

Esto funciona para mí, gracias.

Usé conda install -c conda-forge scikit-image pero la versión que obtuve es 0.14.0. Todavía tengo el problema de no poder importar el nombre '_validate_lengths'

@ yexing99 Intente instalar la última versión de scikit-image y numpy. Se sabe que esa combinación funciona. De lo contrario, abra un nuevo problema y ayúdenos a depurar su configuración allí, proporcionando todos los números de versión.

# The following worked fine for me
pip install -U scikit-image

Instalación de paquetes recopilados: scikit-image
Instalación existente encontrada: scikit-image 0.14.1
Desinstalación de scikit-image-0.14.1:
Scikit-image-0.14.1 desinstalado correctamente
Se instaló correctamente scikit-image-0.15.0

python -c "import skimage"
# No errors, as expected

Ya resolví este problema, solo use conda install -c conda-forge scikit-image , no pip install -U scikit-image

Como la instalación de conda es tan lenta para mí, probé pip install -U scikit-image y también funciona.

pip install -U imagen-scikit
Esto funcionó para mí.

Ya mismo,
pip install -U imagen-scikit
Esto funcionó para mí.

¿Fue útil esta página
0 / 5 - 0 calificaciones