本文主要记录关于Anaconda的安装以及conda如何创建虚拟环境以达到多环境配置管理。
目录
深度学习环境配置之Anaconda安装及配置
为什么需要Anaconda
借用GPT的回答:
集成环境:
Anaconda 自带了大量常用的数据科学和机器学习库(如 NumPy、Pandas、Scikit-learn、TensorFlow、Matplotlib 等),因此你可以避免手动安装和配置这些库。还包括 Jupyter Notebook 和 Spyder,这些工具非常方便用于数据分析和可视化。环境管理:
Anaconda 提供了强大的环境管理工具 conda,让你可以轻松地创建、克隆、删除或切换不同的 Python 环境。这对需要使用不同版本的 Python 或不同依赖库的项目来说特别有用,可以避免库版本冲突问题。跨平台兼容:
Anaconda 支持在 Windows、macOS 和 Linux 上运行,因此你可以跨多个操作系统无缝切换开发环境。易于安装和管理库:
使用 conda 可以方便地管理库。相比 pip,conda 还可以管理非 Python 的依赖项,比如用于数据科学的底层 C 或 Fortran 库。独立性和隔离性:
Anaconda 安装的库和环境与系统的全局环境隔离,避免了与系统级 Python 冲突。
简单来说,具体到深度学习应用场景中,我们一般使用Anaconda管理各种库(下载、配置不同版本)、为不同项目创建不同的conda环境等等。
Anaconda安装
本地安装(Windows/Mac)
可以直接去官网下载,这里就不细说了,一般深度学习跑实验都在服务器上跑,所以我们一般是在服务器上配置相关环境。
如果嫌官网太慢可以尝试清华源选择对应版本下载安装即可,建议一般不要下载最新版本(最新版本一般说不定会有啥问题 @U@)
服务器安装(Linux)
如果在学校的话,很多服务器资源是不能直接连外网的,如果使用官网源可能会出现无法下载的情况,这个时候我们需要使用国内源下载安装包(或者可以问问师兄师姐学校自己有没有镜像站,如果有的话用自己学校的就好了)。
另一种方法是通过本地下载安装包,然后在传到服务器上。这里我两种都简单介绍一下。
国内源下载
官方源:https://repo.anaconda.com/archive/
目前常用的国内源
- 清华源:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
- 中科大源:https://mirrors.ustc.edu.cn/anaconda/archive/
选择你需要的版本,并直接在终端输入指令(这里以清华源为例):
sudo wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2020.11-Linux-x86_64.sh
如果系统没有安装wget
,可以试一试:
curl -O https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2020.11-Linux-x86_64.sh
并且,如果你觉得conda太大,也可以换成安装miniconda,和conda没什么区别,相当于它的精简版,没有预装其他库。miniconda的清华源在:https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/
之后,运行以下指令安装anaconda:
chmod u+x Anaconda3-2020.11-Linux-x86_64.sh
./Anaconda3-2020.11-Linux-x86_64.sh
rm Anaconda3-2020.11-Linux-x86_64.sh
安装过程中会弹出一系列选择,全部回车或者yes就可以了。
在安装完毕后,往往还需要配置环境变量。这里先找到用户目录下的~/.bashrc
配置文件,我们将conda路径添加到环境变量中:
vim ~/.bashrc
在打开的文件中添加(注意这里是用你自己anaconda的安装路径):
export PATH="/home/user/用户路径/anaconda3/bin:$PATH"
添加完毕后,可以用查看conda版本的方式检查是否配成功了:
source ~/.bashrc
conda -V
如图,成功输出版本:
本地下载安装包上传到服务器
采用这种方式就比较简单了,先在本地下载服务器所需版本的安装包,接着使用scp
指令上传到远程。
scp /本地路径/文件名 用户名@服务器IP:/远程路径/
推荐一个可视化软件(Xftp),可以通过文件直接拖拽等傻瓜式操作实现各种远程各种文件操作,并且主要能对远程目录一目了然,并且对学生有教育优惠,注册就能用。如果对linux文件操作不熟悉的同学可以试一试这个软件。
之后同样运行以下指令安装:
chmod u+x Anaconda3-2020.11-Linux-x86_64.sh
./Anaconda3-2020.11-Linux-x86_64.sh
rm Anaconda3-2020.11-Linux-x86_64.sh
最后还是跟上一个方法一样配置环境变量和检查安装是否成功。
Anaconda镜像源配置
如果不配置镜像源,使用conda下载各种库会非常慢甚至连接不上(因为conda服务器在国外),这时最好配置国内的镜像源。
国内镜像站不仅提供了Anaconda仓库,更有第三方源conda-forge、msys2、pytorch等,各系统都可以通过修改用户目录下的.condarc文件来使用各镜像站。
不同系统下的.condarc目录如下:
- Linux:
${HOME}/.condarc
- macOS:
${HOME}/.condarc
- Windows:
C:\Users\<YourUserName>\.condarc
还是一样,如果学校内部有镜像源可以试着用自己学校内部镜像源。这里以添加清华源为例,首先打开~/.condarc
:
vim ~/.condarc
将下面的配置直接复制粘贴进去:
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/cloud
deepmodeling: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/
auto_activate_base: false
之后运行conda clean -i
清除索引缓存,保证用的是镜像站提供的索引。并运行conda info
检查换源是否成功(本文这里用的是nju的镜像站)。
这里附一个链接,这篇博客关于各种不同的镜像站写得很全,如果有问题可以去看看。
Conda创建虚拟环境
这也是为什么需要anaconda的原因,使用conda创建虚拟环境能隔离不同项目的依赖库和Python版本,避免在同一台机器上多个项目间的库版本冲突问题。比如一个项目可能需要Python 3.9和TensorFlow 2.5,而另一个项目可能使用Python 3.7和TensorFlow 1.x,通过conda,你可以为每个项目创建独立的环境,使它们在同一系统上共存而互不干扰。
具体来说,可以通过以下指令创建一个虚拟环境(如下指令创建了一个名为myenv的python 3.9环境):
conda create --name myenv python=3.9
创建新环境后,可以使用conda env list
查看新环境创建是否成功,接着我们可以通过以下指令激活这个环境:
conda activate myenv
之后就可以愉快地在这里面安装各种库了@^@,要退出虚拟环境可以使用:
conda deactivate