深度学习科研实验

Ubuntu系统里这样安装Anaconda,彻底解决切换用户带来

2021-05-27  本文已影响0人  IT小叮当
img

Ubuntu安装Anaconda 并 解决切换用户 带来的命令找不到的问题

img

每天早上两个简单的选择:回头去睡或起身追逐梦想。

Every morning there are two simple choices: to go back to sleep or to get up and chase your dreams.

img

Ubuntu系统下安装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用户

img
su 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

对此,你有什么看法呢?如果你在操作过程中遇到了什么问题,或有什么想法和建议,在留言区留下你的足迹吧,与大家一起交流,一起进步~

上一篇下一篇

猜你喜欢

热点阅读