[Python] `most likely due to a circular import` が表示されたときの対処法

コードを確認しても正しいはずなのにこのエラーが表示されて困ったことがありました。

原因は、モジュール名とファイル名が被っていたことでした。

例えば、ファイル名を pandas.py とかにして、その中で以下のように pandas を使っていたりするとこのようなエラーが表示されます。

import pandas as pd

df = pd.DataFrame([0,1,2])
print(df)
AttributeError: partially initialized module 'pandas' has no attribute 'DataFrame' (most likely due to a circular import)

imoprt pandas で自身のファイルを読み込むことになり、再帰読み込みになってしまっているからです。
知らないと結構はまることになるやつだと思います。

Hugo で構築されています。
テーマ StackJimmy によって設計されています。