Ubuntu18.04问题:sudo: python:找不到命令
sudo: python:找不到命令
突然发现sudo python命令不能用了,赶紧测试了一下,确实无法用,如下
:~/dev/pytorch$ sudo python setup.py clean
sudo: python:找不到命令
用命令::~/dev/pytorch$ sudo gedit /etc/sudoers检查了一下/etc/sudoers的内容,
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"
解决办法如下,
:~/dev/pytorch$ sudo ln -s ~/anaconda3/bin/python /usr/bin/python
:~/dev/pytorch$ sudo ln -s ~/anaconda3/bin/pip /usr/bin/pip
:~/dev/pytorch$ which python
/usr/bin/python
:~/dev/pytorch$ which pip
/usr/bin/pip
:~/dev/pytorch$ sudo python setup.py clean
Building wheel torch-1.1.0a0+e8b872a
running clean
:~/dev/pytorch$
原因:
因为某种原因(比如本人是因为安装了太多版本的python),过程中这些快捷方式不知道什么时候被删除掉了,在sudo的secure_path找不到python和pip等命令。所以建立一个快捷方式就OK了。
网上还发现一个不同的解决办法(这个方法描述的问题是相同的,结果我没有测试确认,应该也是可行的)。
源文参考:https://blog.csdn.net/Cryhelyxx/article/details/53384004
sudo执行命令时提示找不到该命令
1. 问题描述
情景:
执行以下命令
$ ssserver -p 443 -k password -m rc4-md5
提示权限不足。
于是在该命令前加上sudo
:
$ sudo ssserver -p 443 -k password -m rc4-md5
提示找不到该命令。
2. 解决方法
切换到root用户, 以root用户身份来编辑文件/etc/sudoers
:
# vim /etc/sudoers
找到Defaults env_reset
, 将其改为Defaults !env_reset
,
然后wq!
强制保存退出。
然后, 切换回普通用户如用户名为xx, 编辑用户根目录下的配置文件~/.bashrc
# su xx
$ vim .bashrc
在文件内最后追加
alias sudo='sudo env PATH=$PATH'
最后, 使配置文件生效
$ source ~/.bashrc
测试sudo执行命令是否正常
$ sudo ssserver -p 443 -k password -m rc4-md5 --user nobody -d start
2016-11-28 12:15:45 INFO loading libcrypto from libcrypto.so.10
started
$
上面信息可知, 成功解决了问题。