概要
Windows環境へのPythonインストールを行う場合は主に下記の4つから選ぶ場合が多いと思う。
- 通常のインストーラー
- Microsoft ストアパッケージ
- nuget.org パッケージ
- 埋め込み可能なパッケージ
今回は1の通常インストーラーのインストール作業を自動化したいので調べたら公式で
起動オプションにより色々できるとのことだったので家訓してみた話
手順
インストーラーの取得
https://www.python.org/downloads/
公式サイトから入れたいバージョンのインストーラーを取得
今回は「python-3.10.0-amd64.exe」
インストールの設定内容ファイル「unattend.xml」の記述
unattend.xmlはインストーラーと同じ階層に配置
このファイルの記述が間違っているとexeがちゃんと動かずに無音で終了する
設定内容は公式ページにまとまっている
<Options>
<Option Name="InstallAllUsers" Value="no" />
<Option Name="Include_launcher" Value="0" />
<Option Name="Include_test" Value="no" />
<Option Name="SimpleInstall" Value="yes" />
<Option Name="SimpleInstallDescription">Just for me, no test suite</Option>
</Options>
("yes" == "1", "no" == "0" で書き換えても良い)
XMLファイルにせずにコマンドの後ろにオプションとして全部連ねれば適用されるが好きな方で
python-3.9.0.exe /quiet InstallAllUsers=1 PrependPath=1 Include_test=0
インストーラー実行
(どれも管理者権限の確認ダイアログは表示される)
引数なし
通常のGUIインストーラーが表示されGUI操作してインストール
python-3.10.0-amd64.exe
引数:/quiet
インストール内容は unattend.xml に依存
python-3.10.0-amd64.exe /quiet
引数:/passive
動作結果は/quietと同じこっちではインストーラーの進捗表示が出る
python-3.10.0-amd64.exe /passive
引数:/uninstall
アンインストールする
python-3.10.0-amd64.exe /uninstall
まとめ
インストール手順をコマンドで定型化し、ミスが発生しにくい状態にまとめてプログラマー以外のチームなどに展開するなどで使えそう