「Pythonの環境とは何か?」の版間の差分
(→環境はどうやって選択されるのか) |
(→注意!) |
||
| (1人の利用者による、間の7版が非表示) | |||
| 17行: | 17行: | ||
'''「環境」''' のScriptフォルダを環境変数の PATH に加えれば、'''「環境」''' は立派に python として動作します。 | '''「環境」''' のScriptフォルダを環境変数の PATH に加えれば、'''「環境」''' は立派に python として動作します。 | ||
| − | + | 実際、ms_env ディレクトリの '''Scripts/actovate.ps1''' を実行すれば ScriptsディレクトリにPATHが通り、普通の python環境として使用可能になります。 | |
==環境はどうやって選択されるのか== | ==環境はどうやって選択されるのか== | ||
| 23行: | 23行: | ||
pythonがどの'''「環境」'''を使うかは単純に、どの python.exe で python を起動したかで決まります。 | pythonがどの'''「環境」'''を使うかは単純に、どの python.exe で python を起動したかで決まります。 | ||
| − | my_env の Scripts | + | my_env の '''Scripts フォルダ'''の python.exe を起動すると、python.exe は my_env 配下のライブラリ、つまり 起動されたpython.exe がある環境の |
| − | Lib | + | Lib フォルダ配下と、親のシステムpython の基本ライブラリを合わせて利用します。 |
| − | 従って、'''「環境」'''を '''「環境」'''の Scripts\activate.ps1 でアクティブ化する必要は必ずしもありません。 | + | 従って、'''「環境」'''を '''「環境」'''の '''Scripts\activate.ps1''' でアクティブ化する必要は必ずしもありません。 |
'''「環境」'''の Scripts フォルダの python.exe をフルパスを指定するなどして直接起動してもよいのです。 | '''「環境」'''の Scripts フォルダの python.exe をフルパスを指定するなどして直接起動してもよいのです。 | ||
実際 activate.ps1 が行っていることは PATH環境変数の書き換えにすぎません。 | 実際 activate.ps1 が行っていることは PATH環境変数の書き換えにすぎません。 | ||
| − | python で作成したアプリを起動する際、python.exe | + | python で作成したアプリを起動する際、python.exe をフルパスで起動するバッチでアプリを起動すれば、任意の'''「環境」''' で |
アプリを起動することができます。 | アプリを起動することができます。 | ||
=== 注意! === | === 注意! === | ||
| − | 仮想環境には '''Scripts''' というフォルダが有りますが、ここにはパッケージと共に登録される | + | 仮想環境には '''Scripts''' というフォルダが有りますが、ここにはパッケージと共に登録される'''コマンド'''が登録されます。 |
| − | 例えば jupyter をインストールすると jupyter.exe 等多数の | + | 例えば jupyter をインストールすると jupyter.exe 等多数の '''コマンド'''が '''Scripts''' にインストールされます。 |
これらを Powershellなどから打鍵で起動したいなら activate.ps1 で 仮想環境を起動し、 '''Scripts''' に PATH を通す必要が有ります。 | これらを Powershellなどから打鍵で起動したいなら activate.ps1 で 仮想環境を起動し、 '''Scripts''' に PATH を通す必要が有ります。 | ||
2026年10月9日 (金) 04:55時点における最新版
メインページ>コンピュータの部屋#Python>Python Tips
Python を使うには「環境」の知識が必須で、様々な解説があるのですが、作り方や運用の話ばかりで
「環境」とは何か? という解説がなかなかみあたりません。なので簡単に解説します。
環境とは何?
最新の python 3 だと、あるフォルダの下にフォルダを掘って環境をつくるには
python(Windowsでは pyで可) -m venv my_env
とします。カレントフォルダの下に my_env という「環境」ができます。
「環境」とは python の実行に必要なもの一式がインストールされたものと考えて問題ありません。 「環境」 のScriptフォルダを環境変数の PATH に加えれば、「環境」 は立派に python として動作します。
実際、ms_env ディレクトリの Scripts/actovate.ps1 を実行すれば ScriptsディレクトリにPATHが通り、普通の python環境として使用可能になります。
環境はどうやって選択されるのか
pythonがどの「環境」を使うかは単純に、どの python.exe で python を起動したかで決まります。
my_env の Scripts フォルダの python.exe を起動すると、python.exe は my_env 配下のライブラリ、つまり 起動されたpython.exe がある環境の Lib フォルダ配下と、親のシステムpython の基本ライブラリを合わせて利用します。
従って、「環境」を 「環境」の Scripts\activate.ps1 でアクティブ化する必要は必ずしもありません。 「環境」の Scripts フォルダの python.exe をフルパスを指定するなどして直接起動してもよいのです。 実際 activate.ps1 が行っていることは PATH環境変数の書き換えにすぎません。
python で作成したアプリを起動する際、python.exe をフルパスで起動するバッチでアプリを起動すれば、任意の「環境」 で アプリを起動することができます。
注意!
仮想環境には Scripts というフォルダが有りますが、ここにはパッケージと共に登録されるコマンドが登録されます。 例えば jupyter をインストールすると jupyter.exe 等多数の コマンドが Scripts にインストールされます。
これらを Powershellなどから打鍵で起動したいなら activate.ps1 で 仮想環境を起動し、 Scripts に PATH を通す必要が有ります。
もちろん仮想環境の Scripts のコマンドを簡単に起動できるパッケージツール pipenv や uv 等を使用しているなら activate.ps1 の起動は不要です。