Numpy: невозможно импортировать имя '_validate_lengths'

Созданный на 15 янв. 2019  ·  21Комментарии  ·  Источник: numpy/numpy

это происходит только с 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'

Информация о версии 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)]

Самый полезный комментарий

Я уже решил эту проблему, просто используйте conda install -c conda-forge scikit-image , а не pip install -U scikit-image

Все 21 Комментарий

Да, похоже, это исчезло в numpy 1.16.0. Но, как вы, наверное, заметили, к функции добавлено нижнее подчеркивание, что означает, что scikit-image немного непослушно импортировал эту функцию.

Здесь есть проблема с изображением scikit: https://github.com/scikit-image/scikit-image/issues/3649

Закрытие в пользу этого выпуска.

Спасибо @ matthew-brett за быстрый ответ.

Да, похоже, это исчезло в numpy 1.16.0. Но, как вы, наверное, заметили, к функции добавлено нижнее подчеркивание, что означает, что scikit-image немного непослушно импортировал эту функцию.

Верный. Чтобы дать некоторый контекст, эта функция изначально была взята из scikit-image и была перенесена на NumPy, и впоследствии мы не очень хорошо очищали ее. Я думаю, что боль, связанная с исправлением этого, будет ярким напоминанием о том, что не следует делать этого снова в будущем.

Была выпущена версия 0.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

Это решило это для меня

ImportError: невозможно импортировать имя _validate_lengths из numpy.lib.arraypad (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
Это сработало для меня.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги