仅为当前用户安装程序或脚本的最佳方法是什么?

仅为当前用户安装程序或脚本的最佳方法是什么?

寻找一种好的(简单、直观的)方法来将我的 Python 脚本部署到我们实验室的用户。发现将pip install --user内容安装到~/.local/bin- 但此目录不在典型的 Ubuntu 设置中的 PATH 中。目录~/bin在 PATH 中。那么为什么 pip 不会安装在那里?即使 pip 配置中有一些隐藏参数来指定每个用户的 bin 目录,我也不想让用户调整他们的 pip 配置。我正在考虑转换为~/bin指向的符号链接~/.local/bin,这很容易,而且只需完成一次。用户不必调整他们的 PATH,pip 就很高兴了。

您觉得如何?这种关联会带来什么麻烦吗?

答案1

目前,Ubuntu 中的预期行为pip install --user是安装到~/.local/bin,因此如果您不想要这样,则不应使用该--user选项。

根据https://bugs.launchpad.net/ubuntu/+source/bash/+bug/1588562,补丁发布后创建的新用户帐户将默认$HOME/.local/bin添加到。您可以通过阅读其中的内容来验证这一点。我还上传了一个$PATH/etc/skel/.profileGitHub 要点/etc/skel/.profile你会看到最后一行是PATH="$HOME/bin:$HOME/.local/bin:$PATH"

简而言之,对于“新”用户帐户,您无需执行任何操作。对于“旧”用户帐户,您可以将 附加$HOME/.local/binPATH/etc/environment,这也会影响“新”用户帐户,但不会造成任何损害。

相关内容