一般大学生が色々やるブログ

いろいろなことを書いています

【python】Code ImportError : cannot import name 'mapping' from 'collections'の解決法


スポンサードリンク

cannot import name 'mapping' from 'collections'のエラーを解決できたので備忘録として

ディープラーニングのコードで学習させたときにいきなり

Code ImportError : cannot import name 'mapping' from 'collections'

の表示が。python初心者なのでなんのこっちゃわからずググってみると、解決策に、python3.10特有のエラーなのでダウングレードするとか、from collections import Mappingをfrom collections.abc import Mappingに書き換えるとか書いていました。

まず前者を仮想環境で試したのですが、3.8にしても何も変わらず断念。

後者は、そもそも元のコードのどこにも from collections import Mapping の記述がなかったのでどうしたものかといろいろ見ていると、エラーの位置らしきものが書いていることを発見。

user名→AppData→Local→Programs→Python→Python310→Lib→collectons→_init_.pyとたどり、_init_.pyをメモ帳で開く。

ここで、from collections import Mappingをfrom collections.abc import Mappingに書き換えるのかと思ったんですがそれらしい記述がなかったので、ダメ元で「from _collections_abc import Mapping」と追加したところ無事治りました。