为什么 Windows 版 Python 没有安装在 %PROGRAMFILES%(“C:\Program Files”)中?

为什么 Windows 版 Python 没有安装在 %PROGRAMFILES%(“C:\Program Files”)中?

Python 最初安装在 C:\Program Files\Python,但是已更改大约 1.5。这个决定背后的理由是什么?将目录改回来是不是一个坏主意?如果是,为什么?

答案1

显然,这是7 年讨论在 Python 开发人员中。

作者给出了以下理由:

作者:Tim Peters (tim.peters) * (Python 提交者) 日期:2006-03-22 20:27

很久以前,Python 确实默认安装在“Program Files”下。我改变了它,因为该死的嵌入空间造成了无数问题,而且由于“Program Files”不是 DOSish 8.3 名称而产生了较少但更微妙的问题。总的来说,我仍然认为这是一个好的改变。

请注意,与大多数 Windows 应用程序(基于 GUI)不同,编程语言是故意的在命令行中大量使用,由脚本调用,等等。这就是路径中的空格容易出错的原因。在 WinXP Pro 中,我注意到 MS 仍然小心地将其自己的命令行/脚本工具(sort.exe、ipconfig.exe、cscript.exe、...,甚至 notepad.exe)置于纯 DOSish 8.3 无空格路径下 ;-)


在旁边:由于存在权限提升的可能性,使用 C:\ 而不是 C:\Program Files\ 可能会存在安全隐患:

作者:Mika Eloranta (mel) 日期:2005-09-07 21:34

在 Windows 上,Python 的默认安装目标目录直接位于系统驱动器的根目录下(例如“C:\python24”)。python24 目录从根目录继承的文件和目录权限对于保存应用程序二进制文件来说不够安全。

微软凭借其无穷智慧,决定系统驱动器的根目录应允许普通(非管理员)用户在那里创建目录和文件。当在默认位置(即“C:\python24”或其他位置)创建 python 目录时,该目录将继承这组权限。

如果你想修改 Python 目录以避免讨论的权限提升攻击,应该可以使用以下命令修改 \Python 目录伊卡克尔斯

相关内容