Numpy: tidak dapat mengimpor nama '_validate_lengths'

Dibuat pada 15 Jan 2019  ·  21Komentar  ·  Sumber: numpy/numpy

itu hanya terjadi dengan numpy 1.16, numpy 1.15 berfungsi dengan baik

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'

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

Komentar yang paling membantu

Saya sudah memecahkan masalah ini, cukup gunakan conda install -c conda-forge scikit-image , bukan pip install -U scikit-image

Semua 21 komentar

Ya, sepertinya ini menghilang di numpy 1.16.0. Tetapi, seperti yang mungkin Anda perhatikan, fungsi tersebut memiliki garis bawah yang ditambahkan sebelumnya, yang berarti bahwa scikit-image agak nakal saat mengimpor fungsi itu.

Ada masalah scikit-image di sini: https://github.com/scikit-image/scikit-image/issues/3649

Menutup mendukung masalah itu.

Terima kasih @matthew-brett atas jawaban cepat Anda.

Ya, sepertinya ini menghilang di numpy 1.16.0. Tetapi, seperti yang mungkin Anda perhatikan, fungsi tersebut memiliki garis bawah yang ditambahkan sebelumnya, yang berarti bahwa scikit-image agak nakal saat mengimpor fungsi itu.

Benar. Untuk memberikan beberapa konteks, fungsi ini berasal dari scikit-image awalnya, dan di-porting ke NumPy, dan kami tidak membersihkannya dengan baik setelahnya. Saya pikir rasa sakit yang terkait dengan memperbaiki ini akan menjadi pengingat yang jelas untuk tidak melakukan ini lagi di masa depan.

v0.14.2 telah dirilis dan mengatasi masalah tersebut.

Hai, punya masalah yang sama. Perbarui saja semua paket.

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

Adakah yang bisa membantu saya untuk memecahkan masalah ini?

Silakan laporkan output berikut:

import skimage
print(skimage.__version__)

aku punya ini

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

@stefanv apakah masuk akal jika dia memiliki scikit-image-0.14.2 (di komentar sebelum Anda)?

Maaf, otak saya jelas sedang liburan.

0.14.2 memperbaiki masalah ini, jadi saya membayangkan versi lain dari perpustakaan sedang diimpor. Tapi saya tidak tahu bagaimana menunjukkannya, mengingat komentar sebelumnya menyatakan sebaliknya.

Saya sudah memecahkan masalah ini, cukup gunakan conda install -c conda-forge scikit-image , bukan pip install -U scikit-image

Saya sudah memecahkan masalah ini, cukup gunakan conda install -c conda-forge scikit-image , bukan pip install -U scikit-image

Itu menyelesaikannya untuk saya

ImportError: tidak dapat mengimpor nama '_validate_lengths' dari 'numpy.lib.arraypad' (C:\Users\basant\Anaconda3\lib\site-packages\numpy\libarraypad.py)

saya punya masalah ini siapa pun tolong beri solusi untuk ini

@pandagre Pastikan Anda menginstal scikit-image versi terbaru. Jika Anda masih mengalami masalah, buka masalah baru dan kami akan mencoba membantu.

Saya sudah memecahkan masalah ini, cukup gunakan conda install -c conda-forge scikit-image , bukan pip install -U scikit-image

Ini bekerja untuk saya, terima kasih.

Saya menggunakan conda install -c conda-forge scikit-image tetapi versi yang saya dapatkan adalah 0.14.0. Saya masih memiliki masalah tidak dapat mengimpor nama '_validate_lengths'

@yexing99 Silakan coba dan instal versi terbaru dari scikit-image dan numpy. Kombinasi itu diketahui berhasil. Jika tidak, buka masalah baru dan bantu kami men-debug penyiapan Anda di sana, dengan memberikan semua nomor versi.

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

Menginstal paket yang dikumpulkan: scikit-image
Ditemukan instalasi yang ada: scikit-image 0.14.1
Menghapus instalasi scikit-image-0.14.1:
Berhasil menghapus scikit-image-0.14.1
Berhasil menginstal scikit-image-0.15.0

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

Saya sudah memecahkan masalah ini, cukup gunakan conda install -c conda-forge scikit-image , bukan pip install -U scikit-image

Karena pemasangan conda sangat lambat bagi saya, saya mencoba pip install -U scikit-image dan itu juga berhasil.

pip install -U scikit-image
Ini berhasil untuk saya.

Ya sama,
pip install -U scikit-image
Ini berhasil untuk saya.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

toddrjen picture toddrjen  ·  4Komentar

inducer picture inducer  ·  3Komentar

Foadsf picture Foadsf  ·  3Komentar

qualiaa picture qualiaa  ·  3Komentar

dmvianna picture dmvianna  ·  4Komentar