【发布时间】:2018-10-30 10:36:38
【问题描述】:
来自PEP-370:
用户脚本目录
二进制文件和脚本的目录。 [10] 它在 Python 版本和脚本的目标目录之间共享。
Unix(包括 Mac)
~/.local/bin窗户
%APPDATA%/Python/Scripts
为什么它建议特定于版本的用户站点目录而不是用户脚本目录?那么来自不同python版本的脚本不会相互冲突吗?
编辑。是的,他们会的。我用python2-pytest 和python3-pytest 做了一个测试。使用 pip 将两者都安装到用户目录时,一个 pytest 脚本会在没有警告的情况下覆盖另一个脚本。
似乎有一个相关链接,但它已经死了:
关于bin目录http://permalink.gmane.org/gmane.comp.python.devel/91095的讨论
【问题讨论】:
-
因为脚本是可执行文件,就像
/usr/bin/和/usr/local/bin等中的其他东西一样 -
您可以编辑脚本以使用特定的 python 可执行文件。只需更改脚本顶部的 shebang 行。不过,仍然可能存在一些库冲突。
-
基本上,'.local/bin` 是part of the systemd home-dir filesystem spec,因此是放置本地二进制文件和命令的好选择。没有针对特定于 python 的版本的规定。
-
@HåkenLid:这专门用于使用
pip进行自动安装,其中会生成setup.py控制台脚本条目并将使用特定的 Python 二进制文件。