【发布时间】:2016-07-29 06:12:34
【问题描述】:
Windows 版 Python 的downloads page 提供了一个“基于网络” 安装程序和一个“可执行” 安装程序。有什么区别?
【问题讨论】:
-
Steve Dower 也有一篇关于安装变体的深入文章:stevedower.id.au/blog/why-so-many-python-installers
标签: python windows python-3.x
Windows 版 Python 的downloads page 提供了一个“基于网络” 安装程序和一个“可执行” 安装程序。有什么区别?
【问题讨论】:
标签: python windows python-3.x
这适用于所有程序,而不仅仅是 Python:
可执行安装程序在安装程序本身中包含您在本地安装的程序的每个组件。这意味着您可以在可以访问 Internet 的计算机上下载安装程序,将其复制到没有 Internet 访问权限的计算机上并在那里安装。如果您要安装网卡驱动程序,这很有用。
基于 Web 的安装程序是小程序,当您启动它们时,下载必要的文件并直接安装它们。这意味着安装程序非常小。
如果你只是想在本地计算机上安装 python 并且可以访问网络,那么选择哪一个并不重要。
【讨论】:
Python 做出的区分完全是人为的:它们的可执行文件和基于 Web 的安装程序都是可执行的安装程序。 一个供离线使用(包含所有组件),另一个供在线使用(在执行期间下载这些组件)。后者可能会下载并安装当前版本,而前者将安装您下载可执行安装程序时可用的版本。 一般来说,您应该远离可执行安装程序:这些几乎总是易受攻击的。 首选操作系统的包安装程序包!
【讨论】:
官方文档的解释范围是这一点包含在自Python 3.5.0以来的所有发行说明中:
Windows 用户:现在有适用于 Windows 平台的“基于 Web”的安装程序;安装程序将在安装时下载所需的软件组件。
作为Python contributor Steve Dower notes,主要的折衷方案是可执行安装程序将离线工作,而基于 Web 的安装程序将占用更少的带宽(因为它可以避免下载不需要的组件,这些组件需要捆绑到可执行安装程序以防万一)。然而,鉴于可执行安装程序只有 30MB 左右,而根据 Steve 的说法,总节省量通常约为 3-5MB,在我看来,这对任何人都无关紧要。即使在0.34 Mbps internet in Yemen 上,使用基于Web 的安装程序也只会为您节省几分钟。 (对伦敦的我来说,下载可执行安装程序大约需要 2 秒。)
因此,请使用您喜欢的两个安装程序中的任何一个,除非您打算将安装程序复制到无法访问 Internet 的机器上并在那里运行,在这种情况下,您应该使用可执行安装程序。
【讨论】: