1. ホーム
  2. Python

ImportError: 名前 '_validate_lengths' をインポートできない。

2022-02-07 01:14:44

エラーメッセージが表示されます。

Traceback (most recent call last):
     from skimage import io
  File "/home/Anconda3/envs/face_alignment/lib/python3.6/site-packages/skimage/__init__.py", line 167, in <module>
    from .util.dtype import (img_as_float32,
  File "/home/Anconda3/envs/face_alignment/lib/python3.6/site-packages/skimage/util/__init__.py", line 8, in <module>
    from .arraycrop import crop
  File "/home/Anconda3/envs/face_alignment/lib/python3.6/site-packages/skimage/util/arraycrop.py", line 8, in <module>
    from numpy.lib.arraypad import _validate_lengths
ImportError: cannot import name '_validate_lengths'


ウェブ上の答えの大半は

numpyのバージョンが高すぎる、numpyを再インストールしてください。

pip install numpy==1.15.0

でも、バージョンを下げると別の問題がたくさん出てくるので、あまりいい解決策とは思えません。

解決策

  • 上記エラーの原因は、他のライブラリのインストール中にnumpyライブラリのバージョンが変更されたため、エラーが発生したものです。そのため、scikit-imageのライブラリだけをアップグレードしてください。
pip install -U scikit-image