インポートしていたモジュールが使えなくなってしまった!

何もしていないのに…という訳ではなく、原因はプロジェクトのディレクトリを1階層下げたという点です。そのため、絶対パスで指定されていたモジュールが指定されていたパスにないため、使えなくなってしまいました。

私のコードではOpenCVを使用していたため、cv2が無いというエラーが出ました。

モジュール名が違っても修正方法は同じですので安心してください。(ディレクトリを変更した等が原因であれば…の話です。)

 

シンプルな直し方。

一番楽で簡単な直し方です。

この二行を追加するだけです。

要はパスとしてモジュールまでの実際のパスを追加しています。

尚、パスの部分(上記での'venv/Lib/site-packages')はそれぞれのモジュールが格納されているディレクトリを入れて下さい。

 

注意点

これはあくまで、このコードにおけるモジュールの参照範囲を追加しただけに過ぎません。

この方法では、新しいコードを書くたびに上の2行を追加する必要が出てきます。

そのため、今後修正が必要なくなるように直したいと思います。

 

方法1:モジュール用に参照されているディレクトリにモジュールを移動する

まずは以下のスクリプトを実行することで、モジュールの格納場所として参照されているディレクトリの一覧を取得できます。

そこで取得できたディレクトリの中から任意の場所にモジュールのフォルダを現在の場所から移動することで使えるようになります!

 

方法2:新しいモジュールの場所を参照先に登録する

コマンドラインにて以下のコマンドを実行してください。

このコマンドにより、モジュールの参照先として指定したディレクトリも参照されるようになります。

このディレクトリには必ず移動等が起こらないようなディレクトリを指定しください。

 

参考にしたサイト

Python のモジュール探索パス追加の仕方 – Qiita

 

今回のブログ曲

今回投稿中に聴いていた曲はこちら


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です