Pythonで「most likely due to a circular import」エラーが出た場合の対処法

code coder coding computer

タイトルの通り「most likely due to a circular import」のエラーが出た時の対処法を備忘録として書きます。

目次

エラー内容

今回はpandasを使おうとした時にエラーが発生しました。
エラーの全文は次の内容です。

「AttributeError: partially initialized module ‘pandas’ has no attribute ‘Series’ (most likely due to a circular import)」

コードは以下のようなとても簡単なコードです。

import pandas as pd

ser = pd.Series([1, 2, 3, 4])
print(ser)

原因

調べてみるとどうやら、ファイル名を「pandas.py」にしたことが原因みたいです。

コードの「imoprt pandas」で自分自身のファイルを読み込んでいるため、だからエラー文にある「circular import(循環インポート)」となっているんですね。

原因が分かれば超絶簡単な話しですが、プログラム初心者だとわからないので困りました(笑)

同じようなことで困っている方も見かけました。

AttributeError: partially initialized module ‘pandas’ has no attribute ‘DataFrame’

Pythonでファイル名が悪くてimportでハマった

対処法

原因がファイル名であることが分かったので、「pandas.py」の名前を変更することで無事エラーなく実行することができました。

変更前     変更後
pandas.py ⇒ pandas-test.py

結構簡単なことでも初心者だと困ったりするんですよね。。

Pythonが標準で持っているビルドイン関数と同じファイル名を利用しないようにすることが大事ですね。勉強になりました。

短いですが今回は以上となります。ありがとうございました。

 

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

30歳未経験からネットワークエンジニアに転職し、運用→構築→設計の仕事をやってます。色んな機器(Cisco、YAMAHA、Fortigate、PaloAlto)を触らせてもらいとても楽しい仕事です!

現在は派遣にて主にCiscoを中心としたネットワーク設計~構築をしております。

また、2023年より副業で個人事業主や小規模企業からのパソコン設定~ネットワーク作業の仕事を請け負っておりますので、もしお困りの方がいましたらお気軽にお問い合わせください。

●今までの作業履歴
- パソコンの新旧入れ替え
- 拠点間のインターネットVPN接続(YAMAHA-Fortigate)

コメント

コメント一覧 (1件)

コメントする

目次