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)」と表示されてしまいます。

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

プログラミングの独学におすすめ
プログラミング言語の人気オンラインコース
独学でプログラミングを学習している方で、エラーなどが発生して効率よく勉強ができないと悩む方は多いはず。Udemyは、プロの講師が動画で実際のプログラムを動かしながら教えてくれるオンライン講座です。講座の価格は、セール期間中には専門書籍を1冊買うよりも安く済むことが多いです。新しく学びたいプログラミング言語がある方は、ぜひUdemyでオンライン講座を探してみてください。
目次