我安装了pyenv,但是当我运行sudo pip install xx
sudo: pip: command not found
我知道将/app/pyenv/shims:/app/pyenv/bin
(我的PYENV_ROOT='/app/pyenv'
)附加到secure_path
并使用
Defaults secure_path += /app/pyenv/shims
<{1>}中的,但
失败/etc/sudoers.d/pyenv
/usr/bin/env: bash: No such file or directory
echo 'echo $PATH' | sudo /bin/bash
表明secure_path只是被覆盖。
那么如何以最佳方式在secure_path的原始基础上追加路径?
答案 0 :(得分:0)
将pyenc bin目录添加到PATH变量
export PATH="/app/pyenv/bin:$PATH"
答案 1 :(得分:0)
似乎无法像new_path
一样在original secure_path
上添加Defaults secure_path += /app/pyenv/shims
,但还有其他方法可以解决它,而现在没有更改secure_path
:
sudo -i cmd
,它会执行用户的个人资料,来自https://unix.stackexchange.com/a/8695( )
echo 'echo $PATH' | sudo -i /bin/bash
/app/pyenv/shims:/app/pyenv/bin:/app/pyenv/shims:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/root/bin
添加Defaults exempt_group=user1
,参考exempt_group和The exempt_group option in sudo
exempt_group 该组中的用户免于密码和PATH要求。指定的组名称不应包含%前缀。默认情况下不设置此项。
顺便说一句:任何人都知道如何在new_path
original secure_path
上添加Defaults secure_path += /app/pyenv/shims
并发布它,我们将不胜感激!