Python版本和 sudo Python版本不同时,怎么办?

我的系统是ubuntu时,遇到一件很奇怪的事情:
明明安装了python 使用sudo python指令却提示command not found。
在这里插入图片描述
此时我检查了我的python 版本
在这里插入图片描述

我搜索了网上的很多方法有以下两种方法:

第一种

cd /usr/bin 移动到python路径下
sudo rm -rf python 删除python
sudo ln -s /home/sunxingdi/anaconda3/bin/python /usr/bin/python 再软链接

第二种

虽然anaconda安装完成后,在~/.bashrc中也设置了 PYTHONPATH和PATH的环境变量,为什么还会在sudo python test.py时出现包导入错误,而在使用python test.py时又是正常的呢?这是因为在使用sudo模式执行程序的时候,系统会自动重置PATH环境变量。

(a)$ sudo gedit /etc/sudoers 打开文件,会发现如下这行,表示sudo模式下会默认重置环境变量。

Defaults env_reset
  (b)修改 /etc/sudoers,使sudo下可以继续使用我们定义的环境变量:
Defaults env_keep += “PATH”
Defaults env_keep += “PYTHONPATH”

但是有一个更加简单有效的方法:

在这里插入图片描述
看懂了吗?sudo 执行 绝对路径下的目标python,简单又轻松,一句代码的事情
至于怎么获得python 的路径很简单,一句which python

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐