横浜国立大学理工学部建築都市環境系学科卒
一級鉄筋技能士
資料通りにソースコードを記載して実行してもエラーが出てきてしまう事が多々あります。
そのような場合の原因は「パスが通っていない」ことがほとんどです。
この記事では、具体的なエラー例を用いて「パスを通す」解決法を解説していきます。
目次
パスを通すとは?
プログラミング初心者は「パスを通す」が持てずに苦戦することが多いのではないでしょうか?
まずは「パスを通す」基本を押さえていきましょう。
ソースコードが同じなのにエラーが出る
オンライン講座やサイトに記述されているソースコードと同じものを実行しているのに、なぜかエラーが出ることがあります。
このエラーの原因がさっぱりわからずに苦悩し、挫折してしまう方もたくさんいるはずです。
ソースコードが同じでも、実行環境は使用者それぞれ異なります。
「パスが通っていない」状況とは「腰道具をどこかに置いてきてしまっていて現場仕事ができない非常にもどかしい状態」
パスを通していないとコードが正常に実行されないことがあります。
僕も何度もこのエラーに悩まされました。
「パスが通っていない」状況は、「腰道具をどこかに置いてきてしまっていて現場仕事ができない非常にもどかしい状態」と表現すれば建設業の方は分かりやすいでしょうか。
「パスを通す」には腰道具を身に着けて現場仕事をできるようにする必要がありますが、非常にもどかしいのはどこに腰道具が置いてあるのか他の人に聞いてもわからないことです。
ネットで検索しても解決方法がなかなか出てこなくて苦戦するのはこのようなもどかしい状況にそっくりです。
パスはコントロールパネル→システム→システムの詳細設定→環境変数で追加
パスは以下のように追加していきます。
1 2 3 4 5 6 |
コントロールパネル →システム →システムの詳細設定 →環境変数 →path →編集 |
ModuleNotFoundError: No module named ‘cv2’
具体例を見ていきましょう。
物体検知AIを開発する過程で、カメラに映る画像を取得するコードを実行します。
Pycharmでカメラを起動する
Pycharmでカメラを起動するコードは以下の通りです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
import cv2 if __name__ == '__main__': capture = cv2.VideoCapture(0) while (True): ret, frame = capture.read() if ret: cv2.imshow('camera', frame) if cv2.waitKey(1) & 0xFF == ord('q'): break capture.release() cv2.destroyAllWindows() |
import CV2ができない
コードは正確ですが、cv2が見つからないというエラーが出てしまいました。
1 |
ModuleNotFoundError: No module named 'cv2' |
terminalを起動し再度インストールしてみます。
しかし、すでにOpenCVはインストールされているようです。
1 2 3 |
(venv) C:\デスクトップ\test\ObjectDetectionCourseLocal>pip install opencv-python Requirement already satisfied: opencv-python in c:\users\itoiy\appdata\local\programs\python\python310\lib\site-packages (4.7.0.72) Requirement already satisfied: numpy>=1.17.0 in c:\users\itoiy\appdata\local\programs\python\python310\lib\site-packages (from opencv-python) (1.24.2) |
echo %path:;=&echo.%コマンドで現状のパスを表示
現状のパスの状況を改行ありで表示します。
1 2 3 4 5 6 7 8 9 10 11 12 |
>echo %path:;=&echo.% パスを改行ありで表示 C:\Users\itoiy C:\Users\itoiy\AppData\Local\Programs\Python\Python310 C:\Users\itoiy\AppData\Local\Programs\Python\Python310\Scripts C:\Users\itoiy\AppData\Local\Programs\Microsoft VS Code\bin … ここに C:\Users\itoiy\AppData\Local\Programs\Python\Python310\Lib\site-packages を追加する |
python interpreterを再度確認する
上記ではPython310のパスが通っています。
python interpreterがPython310になっているかどうかを確認しましょう。
まとめ
正確なコードを記述しているのにエラーが出る原因は、パスが通っていないことが大半です。
パスの追加方法は何度も練習して身に着けておきましょう。