什么是 Conda
Conda 是一款功能强大的软件包管理器和环境管理器,可以在 Windows 的 Anaconda 提示符或 macOS 或 Linux 的终端窗口中使用命令行命令
- Conda 可以快速安装、运行和更新软件包及相关依赖项。
- Conda 可以在本地计算机上创建、保存、加载和切换特定项目的软件环境。
Conda/Miniconda/Anaconda三者的区别
下面通过一张图,形象的展示了 Conda 环境和软件包管理工具与 Miniconda 和 Anaconda Python 发行版(注:Anaconda Python 发行版现在有超过 150 个额外的软件包!)之间的区别。

安装地址【二选一即可】
Miniconda
Anaconda
安装 & 环境变量配置
Windows
针对Anaconda
下载后,基本上是傻瓜式安装,需要注意的是,在安装时这两个选项需要点上:

假设安装路径为:D:\Software\Anaconda
,将以下路径加入到系统环境变量
1 2 3 4 5
| D:\Software\Anaconda D:\Software\Anaconda\Scripts D:\Software\Anaconda\Library\mingw-w64\bin D:\Software\Anaconda\Library\usr\bin D:\Software\Anaconda\Library\bin
|
Linux
针对Miniconda
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| chmod +x Miniconda3-py39_4.12.0-Linux-x86_64.sh
./Miniconda3-latest-Linux-x86_64.sh
vim ~/.bashrc
export PATH=/root/miniconda3/bin:$PATH
source ~/.bashrc
conda init bash source ~/.bashrc
(base) $
|
更换conda的下载源
添加清华的下载源
1 2 3 4 5 6
| conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
# 设置搜索时显示通道地址 conda config --set show_channel_urls yes
|
使用conda
查看环境
1 2 3
| # 查看当前系统环境,第二个用的是详细参数 conda info -e conda info --envs
|
创建环境 / 删除环境
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| # name参数指定虚拟环境的名字,python参数指定要安装python的版本,但注意至少需要指定python版本或者要安装的包,在后一种情况下,自动安装最新python版本 # prefix参数为安装虚拟环境到指定路径 # 路径D:\python36是先建好的文件夹,py36是需要安装的虚拟环境名称 # 注意安装完成后,虚拟环境的全称包含整个路径,为D:\python36\py36 # 激活指定路径下的虚拟环境的命令:activate D:\python36\py36 activate D:\python36\py36 conda create -n {name} --prefix=D:\python36\py36 python=3.6
# 例如 # 创建名字为naoqi,Python版本为2.7.14的虚拟环境,同时还会安装上pillow numpy这两个库 conda create -n naoqi pillow numpy python=2.7.14
# 删除名为naoqi的环境 conda remove -n naoqi --all
# 如果只是想删除环境里的某个依赖,可以使用如下命令 conda remove --name <env_name> <package_name> conda remove --name PaddleOCR requests
|
环境切换
1 2 3 4 5 6 7 8
| # 列出所有环境 conda env list
# 切换到naoqi环境下,在切换环境后,所执行的Pip命令,Python命令,都是更改当前环境下的,不会影响到其他的环境 activate naoqi
# 退出当前环境,也可以在已激活环境的情况下使用`activate root`切回root环境 deactivate
|
包管理
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| # 更新 Conda codna update conda
# 显示当前环境下所有库,以及它的Build,Channel信息 conda list
# 安装版本为5.1.0的pillow库,如不指定版本默认安装最新版 conda install pillow=5.1.0
# 将pillow库升级到最新版 conda update pillow
# 搜索matplotlib这个库有哪些版本可以用conda安装 conda search matplotlib
# 删除当前环境下的numpy库 conda remove numpy
************************************************************** # 显示当前环境下的库,带版本号 pip list
# 安装版本为1.14.3的numpy库,如不指定版本参数(=1.14.3),默认安装最新版 pip install numpy=1.14.3
# 将numpy库升级到最新版 pip install -U numpy
# 搜索与numpy名字相关的包 pip search numpy
# 删除名为numpy的库 pip unisntall numpy
|
环境克隆
1 2
| # 制作naoqi环境的克隆,名字为naoqi_1 conda create --name naoqi_1 --clone naoqi
|
Conda 项目迁移
在进行协作研究项目时,你的操作系统通常可能与协作者使用的操作系统不同。同样,服务器操作系统可能与本地计算机上使用的操作系统不同。在这些情况下,创建与操作系统无关的环境文件非常有用,可以与协作者共享该文件或用于在远程群集上重新创建环境。
导出环境
1 2 3 4 5
| conda env export --name test --file environment.yml
conda env export --name machine-learning-env --from-history --file environment.yml
|
创建环境
1
| conda env create --prefix ./env --file environment.yml
|
更新环境
1
| conda env update --prefix ./env --file environment.yml --prune
|
重建环境
1
| conda env create --prefix ./env --file environment.yml --force
|
导出Conda环境依赖
如果要将Conda环境迁移,可以一次性将环境内的包导出
1 2
| conda list --explicit > /opt/env.txt
|
导入
1 2
| conda install --file /opt/env.txt
|