Conda 是一个主要用于 Python 的环境安装工具

由于 Python 是一个对版本比较敏感的语言,这就导致了为运行不同的应用程序就要运行不同版本的 Python,所以需要一个工具来管理不同版本的 Python (将不同项目的 Python 运行环境隔离)

安装

我们需要安装 Anaconda 或 Miniconda 才能使用 Conda(这俩内置 Conda)

它们的区别其实从名字就能看出来:

Anaconda:大而全,包含了许多科学计算的库,安装时间相对较长,但是你也正好需要这些,选择这个,省事儿

Miniconda:小而精,包含一个基础的运行环境 + Conda,安装较快,如果只是为了使用 Conda,选这个

下面就以安装 Miniconda 举例

windows

其实 Windows 下是有安装包的,无脑下一步就行了:下载链接

这里讲讲使用 Scoop 安装的过程

# 引入 scoop extra
scoop bucket add extras
# 更新 scoop 库
scoop update
# 安装 Miniconda
scoop install miniconda3

Linux

占坑

macos

等我买台先…… 此处先挖坑

安装后的设置

修改默认源

conda-forge 相比 defaults(默认)包的数量上要更全

# 修改默认源为 conda-forge
conda config --add channels conda-forge

# 检查 channel 状态优先级
conda config --get channels

常用命令

Conda 命令

# 创建配置信息(仅限第一次执行)
conda config
# 查看 Conda 版本
conda --version

虚拟环境相关

# 新建环境
conda create -n env_name python=python_version
# 切换到指定环境
conda activate env_name
# 退出环境
conda deactivate
# 删除环境
conda remove -n env_name --all
# 环境列表
conda info -e

包相关

# 安装包
conda install package_name
# 卸载包
conda remove package_name
# 更新包
conda update package_name
# 查看当前环境所有包
conda list

常见问题

Virtualenv or Conda?

简单说,Conda 包含 Virtualenv 的所有功能

Virtualenv = Python 虚拟环境

Conda = Python 虚拟环境 + 包管理

如果仅仅是使用虚拟环境,两者均可

安装包速度很慢

首先,Conda 安装包的速度确实比 pip 要慢,这也是它的槽点

但是也需要想想自己的网络环境是否足够好(毕竟连接国外下载)

有两种方式:使用国内源 和 使用代理

使用国内源

#anaconda 官方安装源
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 --set show_channel_urls yes
#部分conda安装源
#Conda Forge
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
#msys2
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
#bioconda
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
#menpo
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/menpo/
#pytorch
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
# for legacy win-64
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/peterjc123/

使用代理

conda config --set proxy_servers.http http://id:pw@address:port

Conda 包不全怎么办?

从包的数量上来讲,确实是 Pypi 要多余 Conda

但是使用 Conda 并不妨碍使用 pip

因此对于没有的包,使用 pip也能搞定

pip install package_name

值得注意的是,conda 和 pip 可能存在同名但不同的包

例如:

pip install redis
conda install redis

上面两条命令安装的就不是同一个包,这里需要自行鉴别

Q.E.D.


此 生 无 悔 恋 真 白 ,来 世 愿 入 樱 花 庄 。