サイレントインストーラー(.msi)を使用してWindowsにpython 2.7をインストールする場合、GUIなどのパス環境変数にPythonを追加するコマンドラインオプションはありますか?オプション?
Python3.5インストーラーにはデフォルトでオプションPrependPath = 0が含まれていますが、Python 2.7で使用できますか?
https://docs.python.org/3/using/windows.html
この問題はここで説明されているようですが、Python 2.7?
https://bugs.python.org/issue3561
編集
このバッチコマンドは素晴らしいです!!!
setx\M PATH "%PATH%; C:\ Python\Python27; C:\ Python\Python27\Scripts"
ただし、setxは、格納されている%PATH%文字列を1024バイトに切り捨てます。
Python MSIインストーラーは2.4以降のシステムパスを更新できます。コマンドラインにADDLOCAL = ALLを追加するだけです。システムが伝播する前に、システムを再起動する必要があります。
msiexec /i "python-2.7.11.AMD64.msi" /passive /norestart ADDLOCAL=ALL
python 2.7.14x64のWindows7(Professional)では、PythonをPATHに追加するために再起動する必要はありません。起動するだけです。インストール後の新しいコマンドウィンドウとpythonがPATHにあります。
次のようにmsiを実行することにより、インストールで再起動が必要かどうかを判断できます。
start/wait "" msiexec /i "python-2.7.11.AMD64.msi" /passive /norestart ADDLOCAL=ALL
if %errorlevel% == 3010 ( echo Success: reboot required ) else (if %errorlevel% == 0 ( echo Success ) else ( echo Installation failed with error code %errorlevel% ) )
つまり、%errorlevel%
が3010(ERROR_SUCCESS_REBOOT_REQUIRED)の場合、再起動が必要になります。 start/wait
を使用すると、cmd.exeはmsiexecプロセスが終了するまで待機します。これにより、msiexecの戻りステータスをcmd.exeで使用できるようになります。
ところで、システム上のすべてのユーザーがPythonのインストールを利用できるようにする場合は、コマンドラインにオプションALLUSERS=1
を含めることをお勧めします。