大学生の雑記

色々なものを書いています 旧:旧帝大生の雑記ブログ

【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」と追加してみたところ無事治りました。