如果 sudo 命令没有 -H 标志,则在通过 sudo 运行时对 pip 的调用可能会失败,因为 HOME 仍然设置为 SSH 用户名,而不是 sudo 用户名。 这是必需的,例如,在包构建失败的情况下写入错误日志。
要么默认设置它,要么向 sudo() 提供一个参数,以在远程 sudo 命令上启用它。
我也被这个咬了尽管在 ubuntu 的默认 sudoers 文件中设置了“env_reset”,但 HOME 并未设置为您 sudo 的用户......在它最终出现在结构本身之前,有一种简单的方法可以始终设置“-H”选项。 在 fabfile 的顶部附近,设置:
env['sudo_prefix'] += '-H '
我将把它折叠到#503 中,对此进行 2 次讨论毫无意义。
@tobiasmcnulty和@reinout我对 #503 re: 使用-i
而不是-H
有一个评论,如果您对此有任何反馈,请留下一些:)
最有用的评论
我也被这个咬了尽管在 ubuntu 的默认 sudoers 文件中设置了“env_reset”,但 HOME 并未设置为您 sudo 的用户......在它最终出现在结构本身之前,有一种简单的方法可以始终设置“-H”选项。 在 fabfile 的顶部附近,设置: