在 Windows 上安装 python 安全更新

Jea*_*lle 5 python python-3.x

Python 安全更新是仅源更新。没有 Windows 安装程序。例如,python 3.6.12的页面指出:

安全修复版本根据需要定期发布,并且是纯源版本;不提供二进制安装程序。

有人可以解释我如何更新/修补由 Windows 安装程序完成的 python 安装,以便应用最新的 python 安全修复程序:例如从 python 3.6.6 到 python 3.6.12

或者如果不可能,如何直接从 python 源代码安装。

谢谢你的帮助。

A. *_*dry 9

要在最后一个完整的错误修复版本之后安装安全补丁,您必须从源代码构建Python:

编译二进制文件

  1. 安装Visual Studio 2019 Community并选择:
  • Python开发工作量,以及

  • Python本机开发工具(位于 下Optional,但对于从源代码构建 python 是必需的)

    Python开发工作量和原生开发工具

  1. 下载python源代码并解压。

  2. 导航到该文件夹​​并通过运行安装所需的外部依赖项PCbuild\get_externals.bat

  3. 构建调试 ( python_d.exe) 和发布 ( python.exe) 二进制文件

> PCbuild\build.bat -p x64 -c Debug
> PCbuild\build.bat -p x64 -c Release
Run Code Online (Sandbox Code Playgroud)

您还可以构建配置文件引导优化 ( pgo) 二进制文件

> PCbuild\build.bat -p x64 --pgo
Run Code Online (Sandbox Code Playgroud)

默认情况下,上的二进制文件python.org通过 PGO 运行,因此--pgo二进制文件比二进制文件更快-c Release。调试二进制文件对于添加断点和调试代码是必需的。

所有构建的二进制文件都放置在PCbuild\amd64.

构建安装程序

构建安装程序的说明位于Tools\msi\README.txt.

  1. 通过运行下载额外的构建依赖项Tools\msi\get_externals.bat

注意: 这是除了运行PCbuild/get_externals.bat.

externals\windows-installer它会安装制作安装程序所需的附加二进制文件。具体来说,

  • WiX ( wix.exe),这是一个工具集,可让开发人员为 Windows Installer(Windows 安装引擎)创建安装程序。
  • HTML 帮助( htmlhelp),用于构建文档。
  1. .NET Framework 3.5 Features下打开Turn Windows features on or off

    .NET Framework 3.5 功能

注意: 这是 WiX 所要求的。

  1. 通过运行构建安装程序
> .\Tools\msi\buildrelease.bat -x64
Run Code Online (Sandbox Code Playgroud)

注意:确保以下环境变量已正确设置或留空,以便脚本可以设置它们:

PYTHON=<path to python.exe>
SPHINXBUILD=<path to sphinx-build.exe>
Run Code Online (Sandbox Code Playgroud)

安装程序将被放置在PCbuild\amd64\en-us. 它是一个.exe(安装程序入口点)。该文件夹还将包含许多附加的 CAB 和 MSI 文件。每个 MSI 都包含安装 Python 组件或功能所需的逻辑,但不应直接运行这些逻辑。

指定--pack构建一个不需要所有 MSI 一起可用的安装程序。这需要更长的时间,但更容易共享。