
目次
こんにちは、機械学習の講師をしている木下です!
ローカル環境ではうまく機械学習アプリケーションが動作したけれど、デプロイするときにうまくいかない…
こんな経験はありませんか?
その原因は環境構築だったり、デプロイのためのコーディングであったり、デプロイ先のサービスが一時的にダウンしていたりとさまざまですが PATH が通っていないケースが良くあります。
困った時は PATH を通すと解決する可能性もありますので、PATH が通っているか確認をしてみてください!
みなさん、新しいプログラムを見たときに、「PATH を通してください」などとさらっと書かれている記事を見かけたことはないでしょうか?
実際やってみたものの、なにをやっているのか?、うまくできているのかわからない…、そんな感想を抱いた方も多いと思います。
今回は初学者がつまづきがちな PATH (パス)を通すとはなにか、また Windows, Mac 双方の 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.
補足
このように特定の PATH とプログラム名を紐付けて用いることができる方法を名前解決とも呼びます。興味がある方は調べてみてください。
PATH を通したら、python.exe と指定しなくとも、pythonで起動するようになりました。
これには理由があります。PATHEXT という環境変数のおかげです。
PATHEXT には、以下のような拡張子が記載されています。
.COM;.EXE;.BAT;.CMD;
プログラム名称に拡張子がない場合は、この PATHEXT が次のようなことを自動でしてくれます!
この PATHEXE と PATH の指定の組み合わせでターミナル上で python というコマンドが動いていることになります。
正しい PATH が通っているか、確認したいケースは非常に多くあります。Windows, Mac ではターミナル上で以下のうようなコマンドを実行すると簡単に確認することができます。
where プログラム名称
いくつかの例で確認してみましょう。
# 確認コマンド C:\Users\*****>where anaconda --- 以下実行結果 --- C:\Users\*****\anaconda3\Scripts\anaconda.exe
ここで、Anaconda の 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 の設定(システム環境変数)を見直してみてください。
注意
特にローカル上の Python と Anaconda を用いてインストールした Python は混在しやすいので気をつけてください。
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
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) の場合は、コマンドラインで編集します。
注意
今回は、M1 Mac なので、zsh での説明になります。
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 を確認できるようになっておくとエラー解決の際にとても役立つこと間違いなしです!
以上、プログラムなどを学習している方々のお力添えになれば幸いです!
.jpg&w=3840&q=75)
キカガクの長期コースはプログラミング経験ゼロの初学者が最先端技術を使いこなすAIエンジニアになるためのサポート体制が整っています!
実際に未経験からの転職・キャリアアップに続々と成功中です
まずは無料説明会で、キカガクのサポート体制を確認しにきてください!
説明会ではこんなことをお話します!
.png&w=3840&q=75)
AI・機械学習を学び始めるならまずはここから!経産省の Web サイトでも紹介されているわかりやすいと評判の Python&機械学習入門コースが無料で受けられます!
さらにステップアップした脱ブラックボックスコースや、IT パスポートをはじめとした資格取得を目指すコースもなんと無料です!
参考|Python 3.9.2 ドキュメント
確認するSHARE
AI/データサイエンス学びはじめの方におすすめの記事
コース一覧
注目記事
新着記事