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.