什么是 Conda?
Conda 是一款功能强大的软件包管理器和环境管理器,您可以在 Windows 的 Anaconda 提示符或 macOS 或 Linux 的终端窗口中使用命令行命令
- Conda 可以快速安装、运行和更新软件包及相关依赖项。
- Conda 可以在本地计算机上创建、保存、加载和切换特定项目的软件环境。
Conda/Miniconda/Anaconda三者的区别
下面通过一张图,形象的展示了 Conda 环境和软件包管理工具与 Miniconda 和 Anaconda Python 发行版(注:Anaconda Python 发行版现在有超过 150 个额外的软件包!)之间的区别。
安装 Miniconda
- Windows 、Mac 系统直接下载安装,下载安装教程见:https://docs.conda.io/en/latest/miniconda.html
- Linux 系统通过命令行安装,下载安装教程见:https://docs.conda.io/projects/conda/en/stable/user-guide/install/linux.html
常用conda命令
这里主讲解在Linux系统下的使用。
1:Linux环境安装Conda
MacOS和Windows安装Conda的方法都非常简单,可以直接使用图形化界面安装。下面介绍一下Linux下的安装方式:
# 下载conda 如果要安装其他的版本可以在清华大学源找到对应的安装包
wget --no-check-certificate https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh
Linux下Conda的安装包是一个sh脚本,下载后只需要授权安装即可。
# 授权
chmod +x Miniconda3-py39_4.12.0-Linux-x86_64.sh
# 安装
./Miniconda3-latest-Linux-x86_64.sh
安装的过程中会提示同意安装协议等,一路yes就ok。安装完成后,会发现conda命令无法正常使用,这里要注意,需要执行如下命令才能生效:
vim ~/.bashrc
加入如下内容:
export PATH=/root/miniconda3/bin:$PATH
执行以下命令:
source ~/.bashrc
2:初始化 Conda
正常情况下安装完成后会提示是否将 Conda 默认启动配置到终端设置中,这样可以在开启新的终端时自动进入 conda 环境。如果不小心跳过了可以使用下面的方式手动进行初始化:
conda init bash
source ~/.bashrc
如果配置成功,终端开头应该会像下面这样显示,
(base) $
2:更新 Conda
codna update conda
3:卸载 Conda
- 去除终端配置中 Conda 相关的内容
conda init --reverse bash
- 删除整个 ~/miniconda3 目录
rm -rf ~/miniconda3
- 删除整个 ~/.conda 目录
rm -rf ~/.conda
- 删除 Conda 配置文件
rm ~/.condarc
4:Conda 包管理
- 安装
conda install matplotlib
- 查看已安装的包
conda list
- 更新包
conda update 包名
- 删除包
conda remove 包名
5:Python 版本管理
- 列出可安装的 Python 版本
conda search python
- 创建指定 Python 版本的环境
conda create -n test python=3.8
- 激活环境
conda activate test
- 退出当前环境(返回 base 环境)
conda activate
- 列出所有环境
conda env list
- 删除环境
conda env remove -n test
6:Conda 项目迁移
在进行协作研究项目时,你的操作系统通常可能与协作者使用的操作系统不同。同样,服务器操作系统可能与本地计算机上使用的操作系统不同。在这些情况下,创建与操作系统无关的环境文件非常有用,可以与协作者共享该文件或用于在远程群集上重新创建环境。
- 导出环境
# 相同系统
conda env export --name test --file environment.yml
# 跨平台
conda env export --name machine-learning-env --from-history --file environment.yml
- 创建环境
conda env create --prefix ./env --file environment.yml
- 更新环境
conda env update --prefix ./env --file environment.yml --prune
- 重建环境
conda env create --prefix ./env --file environment.yml --force
*7:创建Conda环境
使用conda可以在电脑上创建很多套相互隔离的Python环境,命令如下:
# 语法
conda create --name <env_name> python=<version> [package_name1] [package_name2] [...]
# 样例 创建一个名为PaddleOCR的环境,python版本为3.7
conda create --name PaddleOCR python=3.7
8:切换Conda环境
前面说到Conda可以创建多套相互隔离的Python环境,使用conda activate env_name可以切换不同的环境。
# 语法
conda activate env_name
# 样例 切换到PaddleOCR环境
conda activate PaddleOCR
如果要退出此环境,回到基础环境 可以使用如下命令
# 退出当前环境
conda deactivate
9:查看电脑上已安装的Conda环境
当电脑上安装了很多台Conda环境的时候,可以使用conda env list命令查看所有已创建的Conda环境。
# 查看当前电脑上所有的conda环
conda env list
10:删除某个Conda环境
如果某个环境不需要了,可以使用conda remove命令移除环境,语法如下:
# 语法
conda remove --name <env_name> --all
# 样例
conda remove --name PaddleOCR --all
如果只是想删除环境里的某个依赖,可以使用如下命令
# 语法
conda remove --name <env_name> <package_name>
# 样例
conda remove --name PaddleOCR requests
11:使用Conda安装依赖包
使用conda list命令可以查看当前环境已经安装了哪些依赖包。
# 查看当前conda环境安装的所有依赖包
conda list
如果要安装新的依赖包,可以使用conda install lib安装新的依赖包。
# 语法
conda install lib
# 样例
conda install requests
12:导出Conda环境
如果要将Conda环境迁移,可以使用conda list --explicit > /path/env.txt命令一次性将环境内的包导出。
# 语法&样例
conda list --explicit > /opt/env.txt
导入:
# 语法&样例
conda install --file /opt/env.txt
13:设置不默认打开conda
安装Conda后,每次打开终端都会有一个(base)这是因为默认进入了conda的base环境,设置不自动进入conda的base环境命令如下:
conda config --set auto_activate_base false