Conda 基础入门
什么是 Conda
Conda 是一个开源的包管理和环境管理系统,可以在 Windows、macOS 和 Linux 上运行。它能够快速安装、运行和更新包及其依赖项,同时创建、保存、加载和切换不同的环境。
Conda 最初是为 Python 程序创建的,但它可以打包和分发任何语言的软件。
安装 Conda
Anaconda vs Miniconda
- Anaconda: 完整发行版,包含 Conda、Python 和 150+ 个科学包及其依赖项(约 3GB)
- Miniconda: 最小安装版本,只包含 Conda、Python 和少量必需包(约 400MB)
推荐新手使用 Miniconda,按需安装所需的包。
安装步骤
- 从官网下载对应系统的安装包
- 运行安装程序,按提示完成安装
- 安装完成后,打开终端验证安装:
conda --version
环境管理
创建环境
# 使用 --name 创建环境(默认在 conda 的 envs 目录下)
conda create --name myenv
# 创建指定 Python 版本的环境
conda create --name myenv python=3.9
# 创建环境并安装包
conda create --name myenv python=3.9 numpy pandas
# 使用 --prefix 在指定路径创建环境
conda create --prefix D:/envs/myenv python=3.9
# 或使用 -p 简写
conda create -p D:/envs/myenv python=3.9
说明:
--name或-n:环境创建在 conda 安装目录的envs文件夹下--prefix或-p:环境创建在指定的绝对路径下
激活和退出环境
# 激活环境
conda activate myenv
# 退出当前环境
conda deactivate
查看环境
# 列出所有环境
conda env list
# 或
conda info --envs
删除环境
# 删除指定环境
conda remove --name myenv --all
# 或使用 env remove
conda env remove --name myenv
克隆环境
conda create --name newenv --clone myenv
重命名环境
Conda 不支持直接重命名,需要通过克隆和删除实现:
# 克隆环境
conda create --name newname --clone oldname
# 删除旧环境
conda remove --name oldname --all
查看环境信息
# 查看当前环境信息
conda info
# 查看指定环境的包列表
conda list --name myenv
包管理
安装包
# 在当前环境安装包
conda install numpy
# 安装指定版本的包
conda install numpy=1.20.0
# 安装多个包
conda install numpy pandas matplotlib
# 从指定 channel 安装
conda install -c conda-forge package_name
查看已安装的包
# 查看当前环境的所有包
conda list
# 查看特定包
conda list numpy
更新包
# 更新指定包
conda update numpy
# 更新所有包
conda update --all
# 更新 conda 本身
conda update conda
卸载包
# 卸载单个包
conda remove numpy
# 卸载多个包
conda remove numpy pandas matplotlib
# 从指定环境卸载包
conda remove --name myenv numpy
搜索包
# 搜索包
conda search numpy
# 搜索特定版本
conda search numpy=1.20
# 显示包的详细信息
conda search --info numpy
查看包信息
# 查看包的依赖关系
conda info numpy
# 查看包的详细信息
conda list numpy --show-channel-urls
环境导出与恢复
导出环境
# 导出为 YAML 文件
conda env export > environment.yml
# 导出时不包含构建信息(更通用)
conda env export --no-builds > environment.yml
# 只导出手动安装的包
conda env export --from-history > environment.yml
从文件创建环境
# 从 environment.yml 创建环境
conda env create -f environment.yml
# 指定环境名称
conda env create -f environment.yml -n newenv
Channels(软件源)
Conda 从 channels 下载包,默认使用 Anaconda 官方源。
查看当前 channels
conda config --show channels
添加 channel
conda config --add channels conda-forge
删除 channel
conda config --remove channels conda-forge
设置 channel 优先级
# 设置为严格优先级(按添加顺序)
conda config --set channel_priority strict
# 设置为灵活优先级
conda config --set channel_priority flexible
配置国内镜像源
为了加快下载速度,可以配置国内镜像源:
# 清华源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
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/r
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
# 设置搜索时显示通道地址
conda config --set show_channel_urls yes
常用配置
# 查看所有配置
conda config --show
# 查看特定配置
conda config --show channel_priority
# 设置配置
conda config --set auto_activate_base false # 禁止自动激活 base 环境
# 恢复默认配置
conda config --remove-key key_name
# 查看配置文件位置
conda config --show-sources
# 编辑配置文件
conda config --edit
版本管理
# 查看 conda 版本
conda --version
# 查看详细版本信息
conda info
# 更新 conda 到最新版本
conda update conda
# 更新 Anaconda 元包
conda update anaconda
清理缓存
# 清理未使用的包和缓存
conda clean --all
# 只清理缓存
conda clean --packages
# 清理索引缓存
conda clean --index-cache
# 清理 tar 包
conda clean --tarballs
# 清理源缓存
conda clean --source-cache
# 查看将要清理的内容(不实际清理)
conda clean --all --dry-run
依赖管理
# 查看包的依赖关系
conda search --info package_name
# 查看环境中所有包的依赖树
conda list --explicit
# 导出精确的包列表(包含 URL)
conda list --explicit > spec-file.txt
# 从精确列表创建环境
conda create --name myenv --file spec-file.txt
常见问题
环境激活失败
如果 conda activate 不工作,需要初始化 shell:
conda init bash # 或 zsh、powershell 等
然后重启终端。
pip 和 conda 混用
在 conda 环境中可以使用 pip,但建议:
- 优先使用 conda 安装包
- 如果 conda 没有该包,再使用 pip
- 使用 pip 前确保已激活 conda 环境
环境路径
默认环境存储在 ~/anaconda3/envs/ 或 ~/miniconda3/envs/。
可以通过 conda config --show envs_dirs 查看环境目录。
指定环境安装路径
# 在指定路径创建环境
conda create --prefix /path/to/env python=3.9
# 激活指定路径的环境
conda activate /path/to/env
环境变量设置
# 在环境中设置环境变量
conda env config vars set MY_VAR=value
# 查看环境变量
conda env config vars list
# 删除环境变量
conda env config vars unset MY_VAR
查看命令帮助
# 查看 conda 命令帮助
conda --help
# 查看特定命令的帮助
conda create --help
conda install --help
评论区