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
$

上面信息可知, 成功解决了问题。

 

 

 

posted @ 2019-02-02 16:22  SpaceVision  阅读(535)  评论(0编辑  收藏  举报