我要实现sudo python
找到Python 3。
我遇到了一个奇怪的问题,在终端中输入python --version
给了 3.6 但是sudo python --version
给了2.7。经过尝试一些事情后我终于卸载了 2.7sudo apt-get purge python2*
。这正确地删除了所有内容。尽管如此,我还是无法得到sudo python
找到Python 3。
我尝试过改变我的/root/.bashrc
具有:
export PATH="/home/username/anaconda3/bin:$PATH"
and
alias python="/home/username/anaconda3/bin/python"
我把同样的行放进去~/.bashrc
too.
My etc/sudoers
有这一行:
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"/usr/bin:$
我打开了新的终端,甚至重新启动了计算机。任何想法如何制作sudo python
就找到Python 3?我不想要单个会话修复,而是每次使用终端时都会起作用的东西。
Thanks
Your /etc/sudoers
已明确配置为使用已知的安全路径覆盖用户的路径。
也就是说,如果您希望始终通过用户的 PATH 路径,您可以轻松覆盖sudo
具有可以执行此操作的函数(安装在您的~/.bashrc
或类似的方式使其持久):
psudo() { sudo env PATH="$PATH" "$@"; }
此后,psudo python
将使用相同的python
可以在 PATH 中找到的解释器。
If you really想要覆盖sudo
命令本身,这也是可行的:
sudo() { command sudo env PATH="$PATH" "$@"; }
The command
builtin 防止函数递归(调用自身)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)