我想让 sudo python
找到 Python 3。
我遇到了一个奇怪的问题,在终端中键入 python --version
给出了 3.6,但是 sudo python --version
给出了 2.7。在尝试了几件事之后,我终于用 sudo apt-get purge python2*
卸载了 2.7。这正确地删除了所有内容。尽管如此,我仍然无法找到 sudo python
来找到 Python 3。
我尝试将我的 /root/.bashrc
更改为:
export PATH="/home/username/anaconda3/bin:$PATH"
和
alias python="/home/username/anaconda3/bin/python"
我也将相同的行放在 ~/.bashrc
中。
我的 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?我不想要单个会话修复,而是每次使用终端时都会起作用的东西。
谢谢
原文由 Phlox Midas 发布,翻译遵循 CC BY-SA 4.0 许可协议
您的
/etc/sudoers
已明确配置为使用已知的安全路径覆盖您的用户路径。也就是说,如果你想始终通过用户的 PATH 路径,你可以轻松地覆盖
sudo
使用将执行此操作的功能(安装在你的~/.bashrc
或类似的使其持久) :此后,
psudo python
将使用相同的python
可以在路径中找到的解释器。如果你 真的 想覆盖
sudo
命令本身,那也是可行的:command
内置阻止函数递归(调用自身)。