Pythonでモジュールが読み込めない時に確実に読み込む方法

プログラミング

こんにちは、コンスキです。

Pythonを使っているとimport文でモジュールを読み込む時がありますよね。

pippyenvを使って確実にインストールしたはずなのにimportできない」という経験はありませんか?

今回はそんな時のために使い勝手は悪いけど確実にモジュールが使える方法を紹介します。

エラー「Import “モジュール名” could not be resolve」

インストールしたのに次のようなエラーが出る時は、これから紹介する方法が使える可能性が高いです。

モジュールを同じフォルダに置いちゃう

その方法はモジュールを同じフォルダに置いちゃう方法です。

「モジュールを同じフォルダに置く」とは、どういうことかわかりませんよね。

インストールしたモジュールを、そのモジュールをimportしたいファイルと同じフォルダに入れるということです。

少し詳しく説明しますね。

ターミナルでモジュールをインストールする場面を想像してください。

pip install pandas

例えば、こんな感じに「pandas」というモジュールをインストールしました。

pandasという名前のフォルダがパソコンのどこかにインストールされたということです。

「モジュールを同じフォルダに置く」というのは、

そのpandasのフォルダを見つけてきて、pandasを使いたいPythonファイルがあるフォルダに入れるということです。

VSCodeでフォルダの構成を見ると次のようになります。

こうしてしまえば、大抵の場合はエラーが消えて、importできるようになります。

モジュールのimportでエラー出る原因

さっきほどの「Import “モジュール名” could not be resolve」というエラーが出る原因には次の2つが考えられます。

  1. モジュールをまとめたフォルダのパスが通ってない
  2. モジュールがインストールされていない

インストールしたことが確実であれば、2は原因から外してもいいですよね。

モジュールのインストール忘れはほとんどないと思いますので、多くの場合、1が原因であることが多いと思います。

もともと、「import モジュール名」でモジュールを使うことができるのは、そのPythonファイルと同じフォルダにモジュールがあった場合です。

同じフォルダにモジュールがなくても、「import モジュール名」でそのモジュールを使えるようにすることがパスを通すということです。

ということは、もともとの方法でimportすればいいのではないか?という考え方です。

おわりに

色々なPythonファイルで同時にモジュールをimportときはこの方法を使うと、たくさんの容量を使ってしまいます。

それぞれのPythonファイルがあるフォルダに、モジュールを複製して入れておく必要があるためです。

しかし、importがなかなかできなくて先に進められないことの方が大変!というときはぜひこちらの方法を使ってモジュールを使うことも考えてみてください。

コメント

タイトルとURLをコピーしました