Pythonで「most likely due to a circular import」とでた時の対処法

目次

原因

実行ファイルを循環してインポートしてしまっています。

import xxx

と実行ファイルに記載があり、この「xxx」がファイル名になっていることで発生します。

例えば、csvモジュールを読み込もうとして、ファイル名「csv.py」に次の記述を行います。

import csv

すると「AttributeError: partially initialized module ‘csv’ has no attribute ‘reader’ (most likely due to a circular import)」のような返答があります。

自身のファイルを読み込んでしまっており、モジュールを参照できなくなっている状態です。

対処法

解決方法は、ファイル名を変更するだけです。これで実行ができるようになります。

注意点として、ファイル名を変更しても、同じディレクトリに同じファイル名のファイルを置いてしまうと「AttributeError: partially initialized module ‘csv’ has no attribute ‘reader’ (most likely due to a circular import)」と表示されてしまいます。

同じディレクトリにインポートする名称となるファイルを置かないようにしましょう。

目次