gpt4 book ai didi

python - 须藤 : python: command not found

转载 作者:太空狗 更新时间:2023-10-29 11:49:37 29 4
gpt4 key购买 nike

我想让 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?我不想要单个 session 修复,而是每次使用终端时都会起作用的东西。

谢谢

最佳答案

您的 /etc/sudoers 已明确配置为使用已知的安全路径覆盖您的用户路径。

就是说,如果你想始终通过用户的 PATH 路径,你可以轻松地覆盖 sudo 一个函数来执行此操作(安装在你的 ~/.bashrc 或类似的使其持久化):

psudo() { sudo env PATH="$PATH" "$@"; } 

此后,psudo python 将使用与 PATH 中相同的 python 解释器。


如果您真的想覆盖sudo命令本身,那也是可行的:

sudo() { command sudo env PATH="$PATH" "$@"; } 

内置的 command 可防止函数递归(调用自身)。

关于python - 须藤 : python: command not found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44726377/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com