Pythonの環境とは何か?

提供: tknotebook
2018年12月4日 (火) 13:10時点におけるNakamuri (トーク | 投稿記録)による版

(差分) ←前の版 | 最新版 (差分) | 次の版→ (差分)
移動: 案内検索

メインページ>コンピュータの部屋#Python>Python Tips


Python を使うには「環境」の知識が必須で、様々な解説があるのですが、作り方や運用の話ばかりで 「環境」とは何か? という解説がなかなかみあたりません。なので簡単に解説します。

環境とは何?

最新の python 3 だと、あるフォルダの下にフォルダを掘って環境をつくるには

python(Windowsでは pyで可) -m venv my_env

とします。カレントフォルダの下に my_env という「環境」ができます。

「環境」とは python の実行に必要なもの一式がインストールされたものと考えて問題ありません。 「環境」 のScriptフォルダを環境変数の PATH に加えれば、「環境」 は立派に python として動作します。

但し、ここには python.exe 等の主要な実行ファイルや DLLなどはインストールされますが、標準のモジュールなどはコピーされません。

環境はどうやって選択されるのか

pythonがどの「環境」を使うかは単純に、どの python.exe で python を起動したかで決まります。

my_env の Scripts フォルダの python.exe を起動すると、python.exe は my_env 配下のライブラリ、つまり 起動されたpython.exe がある環境の Lib フォルダ配下と、python が最初にインストールされたフォルダの基本ライブラリを合わせて利用します。

従って、「環境」「環境」の Scripts\activate.bat でアクティブ化する必要は必ずしもありません。 「環境」の Scripts フォルダの python.exe をフルパスを指定するなどして直接起動してもよいのです。 実際 activate.bat が行っていることは PATH環境変数の書き換えにすぎません。

python で作成したアプリを起動する際、python.exe をフルパスで起動するバッチでアプリを起動すれば、任意の指定した「環境」 で アプリを起動することができます。