为什么 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)
仍在广泛使用的 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." (