Ubuntu安装Anaconda 并 解决切换用户 带来的命令找不到的问题
img每天早上两个简单的选择:回头去睡或起身追逐梦想。
Every morning there are two simple choices: to go back to sleep or to get up and chase your dreams.
imgUbuntu系统下安装Aanaconda想必网上也已经有不少教程了,但是对于Anaconda安装后切换用户带来的“conda 命令找不到”问题,却几乎没有文章能够把背后的原因分析透彻,并提出行之有效的方法!因此,针对这个问题的研究十分具有意义,下面本文提出了一种“同步修改路径”的方法,分析了问题的原因,并通过实验验证了本文所提出的方法。
一、Ubuntu系统安装Anaconda
(1)下载
进入官网
https://www.anaconda.com/
img
浏览到底部,点击“Get Started”
img选择下载
img进入下载界面后,选择Linux ----64-Bit(x86) Installer(544MB)
img下载到本地
img(2)安装
在下载好的Anaconda处 右键------打开终端
img查看Anaconda(为了执行命令的时候复制文件名)
ls |grep An
img
运行sh脚本,开始安装
sh Anaconda3-2021.05-Linux-x86_64.sh
根据提示按“ENTER”键,继续安装
img img按q键,直接跳过提示信息
img输入yes 接收协议
img按下回车键(ENTER)确认安装位置
img安装完成后进入初始化环节,选no (我们自己配环境变量)
img之后便出现安装完成的界面
img下面,我们来自行配置环境变量
首先,先确定anaconda的文件位置 (一般都在根目录下)
cd ~
ls
img
进入anaconda3的执行文件bin目录,并获取其路径
cd anaconda3/bin
pwd
img
根据获得的“/home/yhl/anconda3/bin”路径,来配置环境变量。
gedit ~/.bashrc
img
img
在最后一行中,添加anaconda的路径
export PATH="/home/yhl/anaconda3/bin:$PATH"
img
保存并退出
img背景知识补充:
source命令也称为“点命令”,也就是一个点符号【.】。source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录。
刷新激活路径
source ~/.bashrc
img
执行conda进行测试
conda
出现下图,则证明安装成功!可以正常使用!
img二、切换用户导致的“****conda命令找不到”问题的解决
安装完Anaconda在使用过程中,当切换用户后,经常会发现conda命令找不到的问题!
为复现此问题,我们先给root用户设置密码,以便切换用户实验
sudo passwd
img
根据提示输入密码回车,出现提示后重新输入
img两次输入密码一致后,便会有提示“已成功更新密码”
img切换用户执行conda
su root
conda
此时,问题出现了!!!conda: 未找到命令!!!
img很多朋友们此时无耐,只好切换回普通用户去使用conda, 但有些程序运行,必须在root环境下运行,这是大部分朋友会怀疑自己anaconda安装有问题,于是卸了重装,其实大可不必!
img还有的朋友会选择这样,既然root用户里找不到anaconda,那我添加个路径总可以吧,而且我要选择添加个永久生效的,于是就选择了修改profile系统级文件进行添加。这种方法到底可不可行?我们来进行实验,验证一下!
我们先切回root用户
imgsu gedit /etc/profile
export PATH="/home/yhl/anaconda3/bin:$PATH"
img
img
执行source命令使之立即生效
source /etc/profile
img
执行conda测试,发现可以正常使用!
img但令很多朋友们纠结郁闷的真正问题,就此出现!修改proflie真的解决问题了吗?
img我们切换回普通用户,在切换回root
su yhl
su root
conda
img
尴不尴尬,就切换了次用户,你conda就又告诉我,又找不到命令了???
img原因剖析:
其实,这个问题还真的不怪Anaconda。 这是因为Linux系统的调用机制所导致的问题!因为当普通用户登录时, Linux系统会执行/etc/proflie /etc/bashrc 配置文件。当使用sudo su切换用户时,Linux系统会执行 /etc/bashrc ~/.bashrc 即系统内部实际调用的还是.bashrc文件。
剖析好事物发生现象的背后原因后,我们就好对症下药了。因此,这种问题,有两种彻底的解决方法。
(1)先在proflie里配置路径-------再到~/.bashrc 文件中添加“source /etc/proflie”激活生效代码。
(2)直接在~/.bashrc中配置添加路径。
因此,经过总结,我称此方法为“同步路径修改”法。
下面我们进行实验,来进行验证。
gedit ~/.bashrc2source /etc/profile
img
切换用户后再切回root用户
img执行conda测试,conda正常使用!
img至此,因切换用户所导致的“conda命令找不到”问题,圆满解决!
img对此,你有什么看法呢?如果你在操作过程中遇到了什么问题,或有什么想法和建议,在留言区留下你的足迹吧,与大家一起交流,一起进步~
网友评论