我们在复现代码时往往需要匹配环境,因为环境不一致导致复现失败的惨痛经历让人难受,下面用一篇文章来带大家学习基于anaconda的环境安装。
1. 安装anaconda
网址:https://www.anaconda.com/products/individual
根据自己的系统选择合适的链接下载即可。
这里以Linux为例,选择64-Bit (x86) Installer (581 MB),右键-复制链接
然后在bash中输入
cd ~
wget https://repo.anaconda.com/archive/Anaconda3-2021.11-Linux-x86_64.sh
也可以先下载文件到本地,再上传到服务器上
下载完成后再输入
sh ./Anaconda3-2021.11-Linux-x86_64.sh
之后可以一路点
回车
或者输入
yes
,然后等待一会就安装成功了。
出现这个界面就安装成功了。
注意到上图有句话:
For changes to take effect, close and re-open your current shell
就是说为了改变生效,我们可以关闭这个shell再重新打开。
如果不想关闭shell,我们也可以输入如下命令来生效
source ~/.bashrc
然后验证是否成功安装好了conda,输入
conda
出现如下界面就安装成功了
至此,anaconda我们就安装好了,下面一起来学习anaconda如何新建虚拟环境
2. anaconda建虚拟环境
anaconda安装好后,默认就建好了一个基础环境,名字是
base
。但是因为不同的编程任务往往环境不一样,我们在实际应用中一般每个任务都会建一个环境,下面来学习如何建虚拟环境,并安装库。
-
新建虚拟环境
输入如下命令
conda create -n envname python=3.8
envname修改成你想设置的环境名字,python=3.8指定了这个环境的python版本,按你的需要来。
出现如下界面就新建好了环境
-
安装需要的库
输入命令
conda install pkgname
pkgname修改成你要安装的库的名字,举例:
conda install panda
conda install numpy
- 查看已经安装的库
conda list
- 查看已建的所有环境
conda env list
- 删除库
删除指定环境的指定库
conda remove -n envname pkgname
或者直接,这样删除的就是当前环境的指定库
conda remove pkgname
- 删除环境,并删除所有的库
conda remove -n envname --all
3.环境配置进阶——克隆环境
-
复制环境
复制环境或者说克隆环境,当你已经配好了一个环境,想再复制一个一模一样的,你又不想一个包一个包的挨个重装,那么你就需要克隆环境。那么接下来学习如何克隆环境。
假设你已有一个环境,名为env1,想在同一台计算机上新建一个新的环境,名为env2,那么输入命令:
- 克隆环境命令
conda create -n env2 --clone env2
如果是跨计算机呢?也可以!由于conda支持从路径复制,也即
conda create -n envname --clone envpath
所以我们只需把已有环境先通过scp传输到目标服务器上,再通过上面的命令来克隆就好了。
- 查询环境路径的命令:
conda info -e
- 跨服务器发送命令,前提是两台服务器可以通信。
scp -r env1path usrname@IP:temppath
usrname改成目标服务器上你的用户名;IP修改成目标服务器的IP;temppath是env1在目标服务器的目录的地址。
举例:
scp -r /home/guest/anaconda3/envs/env1 guest@19.99.20.22:/home/guest/
然后再克隆
conda create -n env2 --clone /home/guest/env1
4.安装库进阶——添加源
由于conda安装库默认的源虽然可以下载大部分的包,但是下载pytorch等总是很慢或者直接下载不了,所以要添加镜像源。
命令为:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --set show_channel_urls yes