为什么 Windows 上的 `bin` 目录名称不同(`Scripts`)?

Why is the `bin` directory named differently (`Scripts`) on Windows?

仍在广泛使用的 venv module (shipped with Python 3.3 or later), and virtualenv 允许将项目的依赖项安装到系统范围的 Python 安装中,而不是安装到该项目特定的目录中。

这样的 "virtual environment" 的子目录之一包含 Python 解释器以及 "activate" 和 "deactivate" 脚本的副本 - 但这个子目录称为 Scripts 在 Windows 上,bin 在所有其他系统上。

这是somewhat surprising他们为什么要特例 Windows?

PEP 405, nor the venv or virtualenv sources (or docs) contain any explanation - a commit message in virtualenv 都不是指 "convention")

大多数 ms-windows 程序都有一个 GUI,它由图标或菜单项启动。因此,不需要像 UNIX 那样为二进制文件(然后将其放入 $PATH)提供标准化位置。此外,名称 bin 不会 意味着 任何像它对 UNIX 用户所做的那样。

此外,ms-windows 只有一个非常原始的包管理(如果你甚至可以称之为包管理),所以应用程序往往安装在它们自己的目录树中,它们不会干扰彼此。

"I think the commit message is the best you'll get. Everything else will be pure speculation." (, refering to the commit message in virtualenv)