我想让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 吗?我不想使用单个会话的修复方法,而是希望每次使用终端时都可以解决。
谢谢。
sudo
不支持别名。这是因为别名是一个 shell 操作,但sudo
不是 shell 的一部分(无法访问内部 shell 状态),而是直接调用操作系统的execve()
调用来调用被调用软件。 - Charles Duffysudo env PATH="$PATH" python
应该可以解决问题。 - Charles Duffysudo python
,但如果你总是这样做...嗯...那就有点问题了。(不一定是“代码异味”,但我们可以称其为“糟糕的实践异味”)。 - Charles Duffy