IT・技術研修ならCTC教育サービス

サイト内検索 企業情報 サイトマップ

研修コース検索

コラム

ゼロから歩くPythonの道

CTC 教育サービス

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  Microsoft Azure  Docker  Kubernetes 

第50回 Pythonの環境変数PATHを通す (菱沼佑香) 2024年3月

こんにちは、吉政創成 菱沼です。
今回も「きれいなPythonプログラミング(マイナビ出版)」という書籍を利用して学習します。

さて、いまは2章の「環境設定とコマンドライン」を学習中です。
前回、前々回と2回にかけてコマンドの中でもよく利用するものを学習してきました。
今回は環境変数とPATHについて学習したいと思います。

環境変数とPATHってなに?

まずはテキストから環境変数に関する部分の引用です。

---------------------------------------------------------------
P.37
プログラミング言語に関係なく、プログラムの実行プロセスには環境変数と呼ばれる変数群があり、文字列を保持しています。環境変数には、どのプログラムにとっても有用と思われるシステム全体の設定が格納されていることが多く、例えばTEMPという環境変数は、あらゆるプログラムが一時ファイルを保存できるファイルパスを保持しています。OSがプログラム(コマンドラインなど)を実行すると、新しく作成されたプロセスは、OSの環境変数と値の独自のコピーを受け取ります。OSの環境変数とは別にプロセスの環境変数を変更することができますが、変更はプロセスにのみ適用され、OSや他のプロセスには適用されません。
---------------------------------------------------------------

環境変数は一言でいえば「OSが動作しているときに使う変数」なんだそうです。
そして、OSにはコマンドがたくさん入っており、後から追加することもできます。また、それぞれのコマンドをどの順番でどのように呼び出すかというのはOS側が決めるらしく、その時の順番に影響するのが、PATHが通っているかが関わってくるのだそうです。

このあたりについては以下の記事もぜひご覧ください。
Pythonはコマンドプロンプトで実行できる|Pythonエンジニア育成推進協会
環境変数って何?初心者向けに簡単に解説

PATHを通す、とは?

46回目のコラムで、コマンドプロンプトに[python](macOS/Linuxは[python3])と入力すると、Pythonを起動して、インタラクティブモードが利用できるというお話を書いたと思いますが...。

fig01

[python]というコマンドはPythonのインストールに伴って後からOSに追加されたコマンドです。
この、[python]というコマンドを使うには、PATHを通してあげないと使えないのだとか。もしPATHを通さずに使いたいのなら、フルパスで書いてあげなくてはいけないということでした。面倒ですね。

では、PythonのPATHを通すにはどうすればいいかというと、インストールする際に出てくる環境変数PATHのところにチェックを入れる必要があります。この画像の①の部分ですね。
うっかりチェックを入れ忘れてインストールされた方の場合は、後ほど紹介する方法でPATHを後から通すこともできますし、いっそのことインストールしなおすという手もあります。

fig02
(画像はPythonエンジニア育成推進協会オープンドキュメントプロジェクトからお借りしています。)

ちなみにこれはWindowsユーザーの方のみが必要な設定で、LinuxやmacOSは自動でPATHが通るようになっているそうな。
この辺についてのテキストでの解説は次の通り。

---------------------------------------------------------------
P.38
Windowsでpython、macOSやLinuxでpython3などのコマンドを入力すると、ターミナルは現在入っているフォルダーにその名前のプログラムがあるかどうかをチェックします。見つからない場合は、環境変数PATHに記載されているフォルダーをチェックします。
例えば、私のWindowsパソコンでは、python.exeというプログラムファイルは、C:¥Users¥AI¥AppData¥Local¥Programs¥Python¥Python38というフォルダーにあります。このファイルを実行するには、C:¥Users¥AI¥AppData¥Local¥Programs¥Python¥Python38¥python.exeと入力するか、先にそのフォルダーに切り替えてからpython.exeと入力する必要があるのです。
この長いパス名を入力するのは大変なので、このフォルダーのパスを環境変数PATHに追加します。そうすると、python.exeと入力したときコマンドラインはPATHに記載されているフォルダーの中からこの名前のプログラムを検索するので、ファイルパス全体を入力する必要がなくなるのです。
環境変数は1つの文字列値しか含むことができないため、環境変数PATHに複数のフォルダー名を追加するには、特殊なフォーマットを使用する必要があります。Windowsでは、セミコロンでフォルダー名を区切ります。現在のPATHの値は、pathコマンドで確認できます。
(中略)
入力したプログラムやコマンドがcwdやPATHに記載されたディレクトリーに存在しない場合、コマンドラインではcommand not found(コマンドが見つかりません)といったエラーが表示されます。
---------------------------------------------------------------

ということで、[path]を実行してみたのがこちら。

fig03

ずらずらーっと並んでいました。

ちなみに[set](macOS/Linuxは[env])というコマンドでもPATHの内容を確認できます。

---------------------------------------------------------------
P.37、38
set(Windowsの場合)またはenv(macOSとLinuxの場合)をコマンドラインから実行すると、ターミナルウィンドウの環境変数のリストを見ることができます。
等号(=)の左側の文字列が環境変数名、右側の文字列がその値です。プロセスごとに環境変数のセットがあるので、コマンドラインが違えば環境変数の値も異なります。
またechoコマンドを使って1つの環境変数の値を表示することもできます。Windowsではecho %HOMEPATH%を、macOSやLinuxではecho $HOMEを実行すると、現在のユーザーのホームフォルダーを含むHOMEPATHやHOME環境変数の値が表示されます。
---------------------------------------------------------------

SETの周辺でより詳しく知りたい方は以下もどうぞ。
環境変数の値の参照と設定(SET)

環境変数にPATHが入っているか確認する方法

ところで、インストールの時にチェックを入れたかどうかなんて、正直なところ覚えていないと思います。私は覚えていませんでした。なんなら必要なら入れておいてくれたらいいのにね、なんて他責にしました。
[python]コマンドを試しに打てばいいんだろうなとは思いますが、一応、きちんと通っているかを確認する方法をご紹介します。それがこちら。

fig04

[python -V]と[pip -V]を実行したときに、それぞれのバージョンが表示されれば通っているそうです。
オプションとなる[-V]は大文字です。

PATHが通っていなかった場合、環境変数に追加する方法は以下の参考サイトをご確認ください。
Python利用のための環境変数PATHを設定する

それではきりが良いので、こちらで終了です。今回もお付き合いいただきありがとうございました。

 


 

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  Microsoft Azure  Docker  Kubernetes