こんにちは、機械学習の講師をしている木下です!
ローカル環境ではうまく機械学習アプリケーションが動作したけれど、デプロイするときにうまくいかない…
こんな経験はありませんか?
その原因は環境構築だったり、デプロイのためのコーディングであったり、デプロイ先のサービスが一時的にダウンしていたりとさまざまですが PATH が通っていないケースが良くあります。
困った時は PATH を通すと解決する可能性もありますので、PATH が通っているか確認をしてみてください!
みなさん、新しいプログラムを見たときに、「PATH を通してください」などとさらっと書かれている記事を見かけたことはないでしょうか?
実際やってみたものの、なにをやっているのか?、うまくできているのかわからない…、そんな感想を抱いた方も多いと思います。
今回は初学者がつまづきがちな PATH (パス)を通すとはなにか、また Windows, Mac 双方の PATH を通す方法をお伝えします。
ぜひこの機会に PATH の通し方について理解していきましょう!
目次
動作環境
- OS: Windows11
- シェル: PowerShell(Windows)
- Anaconda(Windows)
- OS: Mac OS Monteley 12.2 (M1)
- シェル: zsh(M1 Mac)
- Miniforge(M1 Mac)
- Git
- VSCode
PATH を通すとは?
PATH を通す目的
まずは PATH を通す目的を確認しておきましょう。
PATH を通す目的を一言で表すと
プログラムを簡単に(名称だけで)実行できるようにする
ことです。
プログラムは本来であれば、フルパスを指定しないと実行できません。フルパスとは、コンピュータの一番上のフォルダからプログラムが含まれているフォルダまでのすべての道筋のことです。
例えば、Python であれば以下のようなインストール先がフルパスとなります。
C:\Users\*****\AppData\Local\Programs\Python\Python310\python.exe
そのため、Python を起動してプログラミングを行う際には上記のようなパスを毎回指定して Python を起動する命令が必要になってしまいます。実は、デスクトップのアイコンをダブルクリックして、プログラムが起動するのは、裏側で上記のような命令をコンピュータに指示しています!
ただし、ターミナルから起動するときには、このフルパスを指示しないと動かず、毎回このコードを書くのは非常に面倒です。
そこで、PATH を通すことによって、これを特定の名前で実行できるようになるのです!実際にみなさんのターミナル上では以下のように打つだけで、Python が起動すると思います。これは PATH が通っているからこそできることなのです。
>python
--- 以下実行結果 ---
Python 3.9.7 (default, Sep 16 2021, 08:50:36)
[Clang 10.0.0 ] :: Anaconda, Inc. on darwin
Type "help", "copyright", "credits" or "license" for more information.
なぜ .exe としなくても起動できるのか?
PATH を通したら、python.exe と指定しなくとも、pythonで起動するようになりました。
これには理由があります。PATHEXT という環境変数のおかげです。
PATHEXT には、以下のような拡張子が記載されています。
.COM;.EXE;.BAT;.CMD;
プログラム名称に拡張子がない場合は、この PATHEXT が次のようなことを自動でしてくれます!
.EXEが存在するか調べて、存在するなら開いて終了。
.BATが存在するか調べて、存在するなら開いて終了。
.CMDが存在するか調べて、存在するなら開いて終了。
この PATHEXE と PATH の指定の組み合わせでターミナル上で python というコマンドが動いていることになります。
PATH が通っているか確認する方法
正しい PATH が通っているか、確認したいケースは非常に多くあります。Windows, Mac ではターミナル上で以下のうようなコマンドを実行すると簡単に確認することができます。
where プログラム名称
いくつかの例で確認してみましょう。
# 確認コマンド
C:\Users\*****>where anaconda
--- 以下実行結果 ---
C:\Users\*****\anaconda3\Scripts\anaconda.exe
ここで、Anaconda の PATH が表示されていれば、そこまでの道のりの PATH が通っており、コンピュータが正しく認識できていることになります。細かい PATH の通し方については、別記事で紹介します。
PATH が複数ある場合
次に Python の PATH を確認してみると以下のようになりました。
# 確認コマンド
C:\Users\*****>where python
--- 以下実行結果 ---
C:\Users\*****\anaconda3\python.exe
C:\Users\*****\AppData\Local\Programs\Python\Python310\python.exe
PATH が 2 つ存在することがわかります。このような場合は必ず上に表示されている PATH が採用されます。
不要なPATHを設定すると、思ったように動かないという場合がありますが、だいたいこれが原因であることが多いので、PATH の設定(システム環境変数)を見直してみてください。
PATH 確認の注意点
PATH を確認するときに、確認するときのコマンドには気をつけてください。例えば VSCode(Visual Studio Code) の PATH を確認したいときに以下のようなコマンドを実行するとうまくいきません。
# 確認コマンド
C:\Users\*****>where VS Code
--- 以下実行結果 ---
C:\Users\*****\AppData\Local\Programs\Microsoft VS Code\bin\code.cmd
情報: "VS" が見つかりませんでした。
これはスペース区切りで、プログラム名を入力してしまっているため、VS と Codeというそれぞれ単独の名称で探索した結果、情報: “〇〇” が見つかりませんでした。という表示がでます。
正しくは以下のように実行してみてください。
# 確認コマンド
C:\Users\*****>where Code
PATH の通し方
Windows の PATH の通し方
Windowsの場合は、
システム環境変数を編集する方法とコマンドラインで編集する方法の 2 パターンがあります。
参考サイト
【システム環境変数を編集する方法】
【Windows 11 対応】PATH 環境変数を設定/編集して、独自のコマンドを実行可能にする
【コマンドラインで編集する方法】
PowerShell で環境変数 PATH にパスを追加・削除・置換する
オススメは、システム環境変数を編集し PATH を通して、PATH が通っているかの確認のみをコマンドラインで行うことです。
以下は、デフォルトのインストール先の場合における、PATH を記載します。
デフォルトインストールの場合は、この PATH を通してあげると正常に動くと思います。
C:¥Users¥{ユーザ名}¥AppData¥Local¥Programs¥Python¥Python{バージョン}
"""
{ユーザ名}と{バージョン}はご自身の環境に合わせて変更してください。
例) {ユーザ名}:username、{バージョン}:3.10の場合
C:¥Users¥username¥AppData¥Local¥Programs¥Python¥Python310
"""
C:¥Users¥{ユーザ名}¥anaconda3
C:¥Users¥{ユーザ名}¥AppData¥Local¥GitHubDesktop¥bin
C:¥Users¥{ユーザ名}¥AppData¥Local¥Programs¥Microsoft VS Code¥bin
C:¥Program Files¥heroku¥bin
コマンドラインで上記の PATH を確認する場合は、PowerShell を開いて、以下のコマンドで確認します。
$ENV:Path
Mac (M1) の PATH の通し方
Mac (M1) の場合は、コマンドラインで編集します。
intel Mac の方は bash なため、異なりますのでご注意ください。
PATH を通すためには、~/.zshrc
などの設定ファイルを開いて以下のように記述する必要があります。
ファイルを開くためには open ~/.zshrc
と実行すれば問題ありません。
export PATH=$PATH:<追加 PATH>
私が設定している PATH を参考までに記載します。
# ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
eval "$(anyenv init -)"
"""
homebrew, anyenvのPATHです。
"""
# ~/.zshrc
export PATH="/usr/local/bin/git:$PATH"
export PATH="/opt/homebrew/bin:$PATH"
export PATH="/opt/homebrew/sbin:$PATH"
"""
git, homebrewのPATHです。
"""
Mac の場合は、homebrew のPATHさえ通してしまえば、homebrew 経由でインストールしたパッケージは大抵の場合は正常に動きます。
最後に
いかがでしたでしょうか。PATH の通し方について紹介しました。
環境構築は最初は戸惑うかもしれませんが、PATH を通すことは開発環境の最も重要な基礎です。
とても重要なので、正しく環境構築できるようになりましょう。
そして、すぐに PATH を確認できるようになっておくとエラー解決の際にとても役立つこと間違いなしです!
以上、プログラムなどを学習している方々のお力添えになれば幸いです!
まずは無料で学びたい方・最速で学びたい方へ
まずは無料で学びたい方: Python&機械学習入門コースがおすすめ

AI・機械学習を学び始めるならまずはここから!経産省の Web サイトでも紹介されているわかりやすいと評判の Python&機械学習入門コースが無料で受けられます!
さらにステップアップした脱ブラックボックスコースや、IT パスポートをはじめとした資格取得を目指すコースもなんと無料です!
最速で学びたい方:キカガクの長期コースがおすすめ

続々と転職・キャリアアップに成功中!受講生ファーストのサポートが人気のポイントです!
AI・機械学習・データサイエンスといえばキカガク!
非常に需要が高まっている最先端スキルを「今のうちに」習得しませんか?
無料説明会を週 2 開催しています。毎月受講生の定員がございますので確認はお早めに!
- 国も企業も育成に力を入れている先端 IT 人材とは
- キカガクの研修実績
- 長期コースでの学び方、できるようになること
- 料金・給付金について
- 質疑応答