[ノンプロ研Python中級講座1期]卒業LT中編~環境変数とPath~

python中級Python

どうも。ケニー(tsujikenzo)です。このシリーズでは、2023年3月から始まりました「ノンプロ研Python中級講座1期」について、全6回でお届けします。今日は最終回の2回目です。

前回のおさらい

前回は、「卒業LT前編~はじめてのC++~」をお届けしました。

[ノンプロ研Python中級講座1期]卒業LT中編~環境変数とPath~
どうも。ケニー(tsujikenzo)です。このシリーズでは、2023年3月から始まりました「ノンプロ研Python中級講座1期」について、全6回でお届けします。今日は最終回の2回目です。前回のおさらい前回は、「卒業LT前...

今回は、「卒業LT中編~環境変数とPath~」をお届けします。

今日のアジェンダ

  • 環境変数とは
  • 実行可能ファイルの動き
  • VS Codeのインタープリター選択

環境変数とは

環境変数とは、WindowsのOSが使用する変数です。

コマンドプロンプトで確認してみましょう。コマンドプロンプトを起動して、以下のように変数HOGEにhogehogeを代入します。

SET HOGE=hogehoge

変数の呼び出しは、ECHOです。変数名は%で囲みます。

ECHO %HOGE%

先ほど代入した値が、出力されます。 

コマンドプロンプトを終了すると、宣言した変数は無くなります。

このように、コマンドプロンプトからも環境変数を設定できますが、今回は、システムのプロパティの「環境変数」から設定していきます。

GUIでの環境変数設定

環境変数から、ユーザー環境変数の「新規」をクリックします。 

変数名と変数値を入力し、OKをクリックします。(環境変数ウィンドウもOKを押して閉じます。) 

コマンドプロンプトを新規に起動します。変数を呼び出すと、値が出力されます。 

もし、環境変数を環境変数ウィンドウで変更したら、コマンドプロンプトを一度終了し、再起動する必要があります。

実行可能ファイルの動き

前回作成した、sample.exeファイル(Windowsアプリケーション)は、コマンドプロンプトからも起動可能です。

コマンドプロンプトを起動し、カレントディレクトリを移動し、sample.exeを実行しましょう。 

また、実行する際、拡張子exeは省略可能であり、ファイル名の大文字小文字は判別していません。 

標準出力にメッセージが表示され、メモ帳が起動します。(キャプチャは割愛します)

このとき、実行可能ファイルは、裏で以下の動作を行っています。

  1. カレントディレクトリに、ファイルが存在するか
  2. なければ、環境変数のユーザ環境変数とシステム環境変数のPathを、前方から見に行く
  3. なければ、HKLMレジストリを見に行く

Pathを見に行くと何があるのか?

環境変数ウィンドウにある、Pathを見てみましょう。2種類のPathがありますが、裏では、システム環境変数→ユーザー環境変数の順に参照(捜索)しています。 

Pathの中身を見てみましょう。復習ですが、中身は、C++のコンパイラであるMinGWの本体など、特定のアプリケーションの絶対パスを設定していました。

つまり、実行可能ファイルは、実行されるときに、「Path」という環境変数を参照しに行っているのです。

コマンドプロンプトで、変数「Path」を確認してみましょう。このように、セミコロン区切りで値が格納されています。 

sample.exeをどこからでも呼び出せるようにする

環境変数を開き、ユーザー環境変数の「Path」を編集します。

「新規」をクリックし、sample.exeが格納されているフォルダの絶対パスを入力します。 

最後にOKをクリックして、ウィンドウを閉じます。

コマンドプロンプトを、新規に起動します。

カレントディレクトリを任意の場所に移動します。(例は、Cドライブ直下に移動) 

sample.exeを実行すると、メッセージが表示され、メモ帳が起動します。 

これは、まず、カレントディレクトリ(Cドライブ直下)に、sample.exeがないもんだから、環境変数のPathを参照しに行っています。

すると、「C://~略~¥はじめてのC++」という絶対パスの中に、sample.exeを見つけたので、処理が実行されました。

これを、 「PATHを通す」または「PATHが通っている」 と、言います。

VS Codeのインタープリター選択

VS Codeでファイルを実行するさい、再生ボタンを押すと「インタープリターを選択してください」という指示が出ると思います。 

これは、VS Codeから、Python本体(インタープリター)に対して、Pathを通す作業です。(この作業を行っても、環境変数にPath変数は追加されません)

久しぶりにVS Codeを開くとインタープリターを選択させられるのは、Pathが保存されていないか、変更されているのでしょう(この裏は取っていません。ケニーの憶測)。

その代わり、コマンドプロンプトからPythonファイルを実行するDay4のブログを参考にしてください)にはPython本体に対して、Pathが通っている必要があります。

通常であれば、Pythonのバージョンを使い分けたり、仮想環境を構築しなければ、Pathは一度通せば、変更することはないでしょう。

まとめ

以上で、 「卒業LT中編~環境変数とPath~」 をお届けしました。

使用するライブラリや、配布するアプリケーションによっては、Pythonのバージョンを落としたい、という状況もあるでしょう。

環境変数を理解すれば、生Pythonと、Anacondaの競合なども怖くありませんね。

ところで、「Python本体」とか「インタープリター」って言ってますが、Pythonとはなんなのでしょうか。。。

次回は、最終回で「Pythonの実行と正体」をお届けします。

参考資料

Windows環境変数の超基本を理解する為のアプローチ

このシリーズの目次

  1. [ノンプロ研Python中級講座1期]受講理由と事前課題
  2. [ノンプロ研Python中級講座1期]Day1 関数と式
  3. [ノンプロ研Python中級講座1期]Day2 オブジェクトとクラス
  4. [ノンプロ研Python中級講座1期]Day3 モジュール
  5. [ノンプロ研Python中級講座1期]Day4 ファイル操作とAPI
  6. [ノンプロ研Python中級講座1期]卒業LT前編~はじめてのC++~
  7. [ノンプロ研Python中級講座1期]卒業LT中編~環境変数とPath~
  8. [ノンプロ研Python中級講座1期]卒業LT後編~Pythonの実行と正体~
タイトルとURLをコピーしました