Anaconda 的安装
这里我们讲怎么安装Anaconda的开发环境,首先,这篇文章不是针对个人用户,而是针对管理员用户,比如管理员想要安装conda环境再我们的服务器上,那么应该怎样操作的,这篇文章从不同的角度进行解读。
- 首先根据官网的链接(通常在网站的最下面)去下载Anaconda 的安装包。
- 下载完会得到一个类似于
Anaconda3-2020.02-Linux-x86_64.sh
的安装文件,但是下载的版本可能不太一样,这个不重要 - 命令行列
bash Anaconda3-2020.02-Linux-x86_64.sh
就开始安装程序了 - 同意安装协议
- 指定安装目录 , 这里要注意,如果你是管理员,想要给大家共同使用,建议两个目录:
/usr/local/anaconda3
或者/opt/anaconda3
,最好不要装在/root
目录下,个人用户的话就装在自己的用户目录里就可以了 - 后面会问你是否将环境配置写入到
~/.bashrc
中,如果是个人用户,写入,如果是给所有用户用的环境,这个写入的就是root
用户的.bashrc
文件,安装完后你会发现其他用户的终端还是无法识别conda
命令。
所有用户配置环境变量
-
对于个人用户,安装的时候没有同意将环境变量信息写入
~/.bashrc
文件中也没有关系,我们可以手动写入,假设你的anaconda安装目录是/usr/local/anaconda3
那执行下面这条命令就可以了:
echo ". /usr/local/anaconda3/etc/profile.d/conda.sh" >> ~/.bashrc
这是什么原理呢?
其实很简单,就是把 anaconda 安装目录下etc/profile.d/conda.sh
文件中的代码放到 个人用户的配置文件中。 -
对于管理员要给所有用户呢?和上面的道理一样,但实际上我们有多种操作
操作1
echo ". /usr/local/anaconda3/etc/profile.d/conda.sh" >> /etc/bash.bashrc
这段代码的意思就是把配置文件的内容写入到系统的bash配置文件/etc/bash.bashrc
中, 然后source /etc/bash.bashrc
就可以了,这样每个用户都可以识别到conda
命令了
操作2
echo ". /usr/local/anaconda3/etc/profile.d/conda.sh" >> /etc/profile
道理和操作1一样,但是不建议。
操作3
cp /usr/local/anaconda3/etc/profile.d/conda.sh /etc/profile.d/
非常建议
执行完成后别忘记了source /etc/profile
这个操作不需要更改任何配置文件即可,只需要将conda.sh
文件复制到/etc/pfofile.d/
这个文件夹下就可以了。优点很明显,不会更改配置文件,对于新手小白掌控性好,可维护性也好。这个原理是什么呢?下面我们简单说一下
当一个用户登录Linux系统或使用su -
命令切换到另一个用户时,也就是Login shell
启动时,首先要确保执行的启动脚本就是 /etc/profile
而 /etc/profile
会间接执行/etc/profile.d/
下面的所有脚本.在 /etc/profile.d/
目录下存放的是一些应用程序所需的启动脚本,其中包括了颜色、语言、less、vim及which等命令的一些附加设置。这些脚本文件之所以能够 被自动执行,是因为在/etc/profile
中使用一个for循环语句来调用这些脚本。而这些脚本文件是用来设置一些变量和运行一些初始化过程的。也就是说当你的bash
以Login 形式切换的时候,就会执行/etc/profile.d/
下面的脚本。
我们现在明白了,只要将conda.sh
放到/etc/profile.d/
目录下就行了,但一定要保证Shell 是 Login形式的。
什么是Login Shell?
简单来说当我们用su
命令切换用户时,指定
−
ℓ
-\ell
−ℓ 参数才是以 Login形式登录。在bash
中进入新的bash
同样也需要指定
−
ℓ
-\ell
−ℓ 参数的,其实不要紧,正常我们通过ssh
连接服务器时就是以Login
形式登录的,后续的bash
都是在这个bash
基础上进行的,所以不用每次都指定
−
ℓ
-\ell
−ℓ 参数,只有当切换用户的时候才需要指定
−
ℓ
-\ell
−ℓ参数。
下面举两个例子:
bash -l
终端中conda
命令不存在时试试这个
su -l root
每次切换用户的时候都要指定
−
ℓ
-\ell
−ℓ 参数哦!