【環境構築 入門】PATHの通し方 – Windows11, M1 Mac 対応 –

こんにちは、機械学習の講師をしている木下です!

ローカル環境ではうまく機械学習アプリケーションが動作したけれど、デプロイするときにうまくいかない…
こんな経験はありませんか?

その原因は環境構築だったり、デプロイのためのコーディングであったり、デプロイ先のサービスが一時的にダウンしていたりとさまざまですが 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 であれば以下のようなインストール先がフルパスとなります。

Python のフルパスの例
C:\Users\*****\AppData\Local\Programs\Python\Python310\python.exe

そのため、Python を起動してプログラミングを行う際には上記のようなパスを毎回指定して Python を起動する命令が必要になってしまいます。実は、デスクトップのアイコンをダブルクリックして、プログラムが起動するのは、裏側で上記のような命令をコンピュータに指示しています!

ただし、ターミナルから起動するときには、このフルパスを指示しないと動かず、毎回このコードを書くのは非常に面倒です。

そこで、PATH を通すことによって、これを特定の名前で実行できるようになるのです!実際にみなさんのターミナル上では以下のように打つだけで、Python が起動すると思います。これは PATH が通っているからこそできることなのです。

Python の起動
 >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.

補足

このように特定の PATH とプログラム名を紐付けて用いることができる方法を名前解決とも呼びます。興味がある方は調べてみてください。

なぜ .exe としなくても起動できるのか?

PATH を通したら、python.exe と指定しなくとも、pythonで起動するようになりました。
これには理由があります。PATHEXT という環境変数のおかげです。

PATHEXT には、以下のような拡張子が記載されています。

 .COM;.EXE;.BAT;.CMD;

プログラム名称に拡張子がない場合は、この PATHEXT が次のようなことを自動でしてくれます


STEP.1
.COMが存在するか調べて、存在するなら開いて終了。

STEP.2
存在しなければ、
.EXEが存在するか調べて、存在するなら開いて終了。

STEP.3
存在しなければ、
.BATが存在するか調べて、存在するなら開いて終了。

STEP.4
存在しなければ、
.CMDが存在するか調べて、存在するなら開いて終了。

この PATHEXE と PATH の指定の組み合わせでターミナル上で python というコマンドが動いていることになります。

PATH が通っているか確認する方法

正しい PATH が通っているか、確認したいケースは非常に多くあります。Windows, Mac ではターミナル上で以下のうようなコマンドを実行すると簡単に確認することができます。

PATH の確認
where プログラム名称

いくつかの例で確認してみましょう。

Anaconda の PATH 確認
# 確認コマンド
C:\Users\*****>where anaconda

--- 以下実行結果 ---
C:\Users\*****\anaconda3\Scripts\anaconda.exe

ここで、Anaconda の PATH が表示されていれば、そこまでの道のりの PATH が通っており、コンピュータが正しく認識できていることになります。細かい PATH の通し方については、別記事で紹介します。

PATH が複数ある場合

次に Python の 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 の設定(システム環境変数)を見直してみてください。

注意
特にローカル上の Python と Anaconda を用いてインストールした Python は混在しやすいので気をつけてください。

PATH 確認の注意点

PATH を確認するときに、確認するときのコマンドには気をつけてください。例えば VSCode(Visual Studio Code) の PATH を確認したいときに以下のようなコマンドを実行するとうまくいきません。

VSCode の PATH 確認
# 確認コマンド
C:\Users\*****>where VS Code

--- 以下実行結果 ---
C:\Users\*****\AppData\Local\Programs\Microsoft VS Code\bin\code.cmd
情報: "VS" が見つかりませんでした。

これはスペース区切りで、プログラム名を入力してしまっているため、VS と Codeというそれぞれ単独の名称で探索した結果、情報: “〇〇” が見つかりませんでした。という表示がでます。

正しくは以下のように実行してみてください。

VSCode の PATH 確認
# 確認コマンド
C:\Users\*****>where Code

PATH の通し方

Windows の PATH の通し方

Windowsの場合は、
システム環境変数を編集する方法コマンドラインで編集する方法の 2 パターンがあります。

参考サイト
【システム環境変数を編集する方法】
【Windows 11 対応】PATH 環境変数を設定/編集して、独自のコマンドを実行可能にする

【コマンドラインで編集する方法】
PowerShell で環境変数 PATH にパスを追加・削除・置換する

オススメは、システム環境変数を編集し PATH を通して、PATH が通っているかの確認のみをコマンドラインで行うことです。

以下は、デフォルトのインストール先の場合における、PATH を記載します。
デフォルトインストールの場合は、この PATH を通してあげると正常に動くと思います。

Python
C:¥Users¥{ユーザ名}¥AppData¥Local¥Programs¥Python¥Python{バージョン}

"""
{ユーザ名}と{バージョン}はご自身の環境に合わせて変更してください。

例) {ユーザ名}:username、{バージョン}:3.10の場合
C:¥Users¥username¥AppData¥Local¥Programs¥Python¥Python310
"""

Anaconda
C:¥Users¥{ユーザ名}¥anaconda3

Git
C:¥Users¥{ユーザ名}¥AppData¥Local¥GitHubDesktop¥bin

VSCode
C:¥Users¥{ユーザ名}¥AppData¥Local¥Programs¥Microsoft VS Code¥bin

Heroku
C:¥Program Files¥heroku¥bin

コマンドラインで上記の PATH を確認する場合は、PowerShell を開いて、以下のコマンドで確認します。

PATH の確認
$ENV:Path

Mac (M1) の PATH の通し方

Mac (M1) の場合は、コマンドラインで編集します。

注意
今回は、M1 Mac なので、zsh での説明になります。
intel Mac の方は bash なため、異なりますのでご注意ください。

PATH を通すためには、~/.zshrc などの設定ファイルを開いて以下のように記述する必要があります。
ファイルを開くためには open ~/.zshrc と実行すれば問題ありません。

PATH の記述
export PATH=$PATH:<追加 PATH>

私が設定している PATH を参考までに記載します。

.zprofile
# ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
eval "$(anyenv init -)"

"""
homebrew, anyenvのPATHです。 
"""

.zshrc
# ~/.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&機械学習入門コースがおすすめ

Python&機械学習入門コース

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

無料で学ぶ

最速で学びたい方:キカガクの長期コースがおすすめ

一生学び放題

続々と転職・キャリアアップに成功中!受講生ファーストのサポートが人気のポイントです!

AI・機械学習・データサイエンスといえばキカガク!
非常に需要が高まっている最先端スキルを「今のうちに」習得しませんか?

無料説明会を週 2 開催しています。毎月受講生の定員がございますので確認はお早めに!

説明会ではこんなことをお話します!
  • 国も企業も育成に力を入れている先端 IT 人材とは
  • キカガクの研修実績
  • 長期コースでの学び方、できるようになること
  • 料金・給付金について
  • 質疑応答

参考リンク

参考 Python 3.9.2 ドキュメント