はじめに
こんにちは!プログラミングを学び始めると必ず出てくる「パスを通す」という謎の儀式。「とりあえずパスを通せばいいらしい」と言われて、言われるがまま作業した経験はありませんか?今回は「パスを通す」の正体に迫ります。
パスを通すとは
「パスを通す」とは、コンピュータにプログラムの居場所(実行ファイルの場所)を教えることです。簡単に言えば、「このプログラムはこの住所に住んでるよ」と教えてあげる作業です。
なぜパスを通す必要があるのか?
コマンドラインからプログラムを実行する時、OSはどこからそのプログラムを見つけ出せばよいのでしょうか?
例えば、ターミナルで以下のように入力したとします:
python hello.py
このとき、OSは「python」というコマンドが何を指すのか知らないといけません。もし知らなければ「'python' は内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されていません」のようなエラーが発生します。
環境変数「PATH」の仕組み
ここで登場するのが「PATH」環境変数です。PATH変数には、OSがコマンド実行時に検索するディレクトリのリストが格納されています。
例えば PATH が以下のようになっていたとします:
C:\Windows\system32;C:\Program Files\Python\Python39;C:\Program Files\Git\bin
このとき「python」と入力すると、OSは:
-
C:\Windows\system32
の中に python.exe があるか確認 - なければ
C:\Program Files\Python\Python39
を確認 - 見つかれば、そのプログラムを実行
という手順で検索します。
パスを通さないとどうなる?
パスを通さない場合、プログラムを実行するには毎回フルパスを指定する必要があります:
C:\Program Files\Python\Python39\python.exe hello.py
これは面倒です。パスを通せば、どこからでも単に python
と入力するだけで実行できます。
実際にパスを通してみよう
Windowsの場合
- スタートメニューで「環境変数」と検索
- 「システム環境変数の編集」を選択
- 「環境変数」ボタンをクリック
- 「システム環境変数」の「Path」を選択して「編集」
- 「新規」ボタンでパスを追加
例:C:\Program Files\Python\Python39
Macの場合
.bash_profile
や.zshrc
などのシェル設定ファイルに以下を追加:
export PATH="$PATH:/プログラムのディレクトリ"
パスを通す際の注意点
- セキュリティ上の理由: 信頼できるプログラムのみパスを通しましょう
- 順序が重要: PATHは先頭から検索するので、同名のプログラムがある場合は最初に見つかったものが使われます
- パスの競合: 異なるバージョンのプログラムがある場合、どちらが使われるか意識する必要があります
デバッグのヒント
「パスが通っていないのでは?」と思ったら:
Windowsの場合
echo %PATH%
Mac/Linuxの場合
echo $PATH
で現在のPATH変数を確認できます。また、特定のコマンドがどこから実行されているか確認するには:
Windowsの場合
where python
Mac/Linuxの場合
which python
を使いましょう。
まとめ
「パスを通す」とは、OSにプログラムの場所を教えて、どこからでも簡単にプログラムを実行できるようにする作業です。これはプログラミングでよく使われる概念で、一度理解すれば怖くありません。
初心者の方も、もう「パスを通す」という言葉に怯えることはないでしょう。次回は変数のスコープについて解説します!