为什么在Windows上对`bin`目录进行不同的调用(" Scripts")?

时间:2017-05-06 22:56:55

标签: python virtualenv portability virtual-environment

venv module(随Python 3.3或更高版本提供)和virtualenv仍然广泛使用,允许安装项目的依赖关系而不是系统范围的Python安装,但是到特定于该项目的目录。

这种虚拟环境的一个子目录"包含Python解释器的副本以及"激活"和#34;停用"脚本 - 但此子目录在Windows上称为Scripts,在所有其他系统上称为bin

这是somewhat surprising为什么他们是特殊情况的Windows?

PEP 405venv或virtualenv来源(或文档)都不包含任何解释 - commit message in virtualenv引用"约定")

1 个答案:

答案 0 :(得分:0)

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

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