Python で ImportError: cannot import name となる場合の対応 

python

Python で ImportError: cannot import name となる場合、 pandas の import で発生していることが多いようです。実際はpandas以外にも発生しますので、pandas以外で困ってる方もご参考にください。

エラーメッセージの例

Import Error: cannot import name IO
Import Error: cannot import name TimeDelta
Import Error: cannot import name QUOTE_MINIMAL 
ImportError: cannot import name ‘is_url’
ImportError: cannot import name ‘csv’

 

エラーは以下の1行で発生します。

 

私の場合は以下のように表示されました。

 

原因

同じ階層にあるファイルの名前が、pandasで使用してる変数、関数、ファイル名とバッティングしている。

対策

問題となっているファイルを探し出しリネームする。私の場合はtyping.pyが邪魔をしてました。エラーが出ているファイル名自体が問題がある場合があります。試しにリネームしてみてください。

 

問題となっているファイルの探し方

エラーメッセージのひとつ上のスタックトレースを確認しましょう。※のところをご覧ください。

 

私の場合は、ここでtypingというキーワードが見つかります。皆さんのエラーが出ている環境で同じ場所を調べてみてください。心当たりがある単語が出てこないでしょうか?

 

「Python で ImportError: cannot import name となる場合の対応 」への4件のフィードバック

  1. 何時間もハマって苦しんでいた事案がこの記事のおかげで解決しました。。。。
    感謝の気持ちが莫大すぎてついコメントしてしまいました。
    本当に×100、ありがとうございます!

  2. 突然のコメントで申し訳ございません。
    matplotlibを使用しようとした際、
    ImportError: cannot import name ‘mpldeprecation’ from ‘matplotlib._api.deprication’というエラーが表示されて困っています。
    突然で大変恐縮ですが、相談にのっていただけますと幸いです。

    1. 遅くなり申し訳ありません。
      最近私も、ずっと使っていたプログラムでMatplotlibのエラーが発生しました。
      原因はバージョンの問題でした。暫定的な対応として、matplotlibのバージョンをちょっと落としてみてはどうでしょうか?
      pip install matplotlib==3.9.0

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です