python 2.7 windows 静默安装程序 (.msi) - 用于设置路径的命令行选项?

5 浏览
0 Comments

python 2.7 windows 静默安装程序 (.msi) - 用于设置路径的命令行选项?

在Windows上使用静默安装程序(.msi)安装Python 2.7时,是否有命令行选项可以将Python添加到路径环境变量中,就像GUI选项一样?

Python 3.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个字节。

0
0 Comments

问题的原因是在Windows 7(专业版)上安装Python 2.7.14 x64时,不需要重新启动计算机即可将Python添加到路径中。只需在安装完成后启动一个新的命令窗口,Python就会出现在路径中。

可以通过以下方式运行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

解决方法:

1. 在安装Python后,打开一个新的命令窗口,检查Python是否已添加到路径中。

2. 若要确定是否需要重新启动计算机,运行上述提供的命令行代码,并根据返回的结果进行判断。如果返回的错误代码为3010,则需要重新启动计算机。

3. 如果希望Python安装对系统上的所有用户都可用,可以在运行msi文件时添加选项ALLUSERS=1

通过以上措施,可以解决在Windows 7上安装Python 2.7.14 x64时是否需要重新启动计算机以及如何将Python添加到路径的问题。

0
0 Comments

问题的原因是Python的MSI安装程序在更新系统路径时需要重启系统才能生效。解决方法是在命令行中添加参数ADDLOCAL=ALL,并在安装完成后重启系统。下面是一个示例的命令行代码:

msiexec /i "python-2.7.11.amd64.msi" /passive /norestart ADDLOCAL=ALL

可以从https://www.python.org/download/releases/2.4/msi/下载Python的MSI安装程序。

然而,某些情况下重启系统可能不是一个可行的选择。因为该选项只会更新注册表,但不会强制Windows Explorer/Shell重新加载新的路径值。所以,如果在安装完成后从资源管理器中启动程序,新进程会继承旧的路径而不是注册表中的路径。目前尚不清楚Python安装程序是否已经采用了解决这个问题的方法。

有用户测试了在Windows XP上使用ADDLOCAL=ALL参数安装Python 3.4的情况,确认需要完全重启系统才能使路径更新生效。

另外,有用户在安装Python 3.5的情况下,通过手动启动安装程序可以避免重启系统。具体情况可以参考这个问题:stackoverflow.com/questions/47310884/…

还有用户在命令行中使用以下代码成功更新了2.7.14版本的Python,并且路径更新也成功传播:

msiexec /norestart /passive /log ".\python-2.7.14.amd64.log" /package ".\python-2.7.14.amd64.msi" ADDLOCAL=ALL

以上就是关于Python 2.7在Windows上使用静默安装程序(.msi)时设置路径的命令行选项的问题的原因和解决方法的整理。

0