多用户安装Anaconda及其使用方法

665 阅读4分钟

Anaconda是一种用来管理Python运行环境的工具,能够快速解决安装各种软件包的依赖问题,所以推荐使用。

如果一台服务器,有多个用户使用,可以使用root把软件安装在/opt下,然后共享给所有用户使用。其他用户将在自己的home dir下创建属于自己的虚拟环境,互相之间不会影响。

安装方法

使用root用户登陆系统。

官方网站下载最新的安装包。

wget https://repo.anaconda.com/archive/Anaconda3-2022.10-Linux-x86_64.sh

Copy

然后开始安装:

bash Anaconda3-2022.10-Linux-x86_64.sh

Copy

回车。

输入yes,同意协议,回车。

安装路径,不要直接回车,输入/opt/anaconda3

完成后,输入yes完成初始化。

配置多用户使用

为了让所有用户都能找到相关命令,需要更改全局环境变量:

vim /etc/profile

Copy

在最下面加入:

export PATH=/opt/anaconda3/bin:$PATH

Copy

保存退出后执行

source /etc/profile

Copy

接下来是权限相关的操作。

新建一个名为 conda 的组,当然也可以使用其它名称

groupadd conda

Copy

将需要的用户加入该组,注意,如果是新增一个用户,则执行(记得替换username为你想要的名字):

adduser username conda

Copy

如果是已有用户,则执行(记得替换username为你想要的名字):

usermod -a -G conda username

Copy

将安装目录转给该组

chgrp -R conda /opt/anaconda3

Copy

设置 root 用户与 conda 组的读写权限。root是目录所有者,conda是组所有者。

chmod 770 -R /opt/anaconda3

Copy

设置组继承,使以后新建的文件夹仍属于 conda 组

find /opt/anaconda3 -type d -exec chmod g+s {} +

Copy

设置共享环境只能由 root 修改,其他用户的环境,放在每个用户自己的home目录下。

chmod g-w /opt/anaconda3/envs

Copy

配置conda:

vim /opt/anaconda3/.condarc

Copy

在文件中输入:

envs_dirs:
  - /opt/anaconda3/envs
  - ~/.conda/envs

Copy

这样,root创建的虚拟环境,就在/opt/anaconda3/envs中,而其他用户因为没有该文件夹的读写权限,就放在自己的home目录.conda/envs下。

更换镜像源

清华大学的源比较快,打开官方网站,可以看到源的地址。

vim /opt/anaconda3/.condarc

Copy

channels:
  - defaults
show_channel_urls: true
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/clou

Copy

放在最下面,保存退出。

其他用户使用方法

其他用户登陆后,应该可以直接使用conda命令了。

先初始化:

conda init bash

Copy

注意,上面的bash,要根据你的shell进行更换

这时候如果退出再登陆,可以看到终端的提示符前面带了一个(base)的字样,这是每个用户的根环境。

建议每个用户为不同的任务创建不同的虚拟环境,例如:运行PyTorch,创建一个环境,运行TensorFlow,创建另外一个虚拟环境,从而解决不同的框架使用不同的组件,版本依赖冲突等问题。

先看看conda的版本:

conda --version

Copy

更新一下conda:

conda update conda

Copy

创建虚拟环境:

conda create --name torch

Copy

激活,或者说进入这个虚拟环境:

conda activate torch

Copy

此时,命令提示符前面会出现当前环境的名字,安装的软件,在当前虚拟环境下生效。

当需要安装一个软件时,可以先搜索一下。

conda search python

Copy

可以在安装时指定版本:

conda install cudnn=8.2.1

Copy

此时,如果安装的版本跟当前环境中其他的包邮冲突,则可能会报错,可以用这样的命令代替:

conda install -c conda-forge cudnn=8.2.1

Copy

conda-forge是conda的一个频道,不同的频道有不同的版本和相互依赖关系。

当然你可以同时安装多个组件,例如安装PyTorch,可以使用命令:

conda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c nvidia

Copy

如果要查看当前环境下的包,可以使用命令:

conda list

Copy

要卸载某个包,用命令:

conda  uninstall packagename

Copy

离开当前的虚拟环境:

conda deactivate

Copy

conda收录的包,主要集中在科学计算方面,如果需要的包没有,可以使用pip安装。使用conda list 命令时,用pip安装的包显示的build项目为pypi。

安装包时,先用conda搜一下,如果没有,再用pip安装,这样依赖冲突的可能性就小一些。