跳转至

Conda 完整操作手册

适用:Windows / Linux / macOS,包含虚拟环境、导出迁移避坑指南、缓存清理、conda‑pip 混用风险、常见报错排查。

一、基础信息命令(只读,无风险)

命令 作用
conda --version 查看当前 conda 版本
conda -V 查看 conda 版本(简写)
conda --help 查看 conda 全局帮助文档
conda info 查看 conda 全部信息:环境路径、缓存目录、源、磁盘占用
conda info --envs 列出所有已创建虚拟环境(和 conda env list 等价)

更新 conda

conda update conda

二、虚拟环境管理(核心板块)

1. 创建环境

基础创建(指定 Python 版本,推荐写法)

# 创建空环境,指定 Python 版本
conda create -n lidar_seg python=3.12
  • -n 全称 --name,后面跟你的环境名称

从 yml 配置文件恢复/克隆环境(你最近实操过的重点)

conda env create -f environment_full.yml

⚠️ 非常重要规则: 新建出来的环境名字 优先读取 yml 文件第一行 name: 字段和yml文件名没有任何关系。 强制覆盖 yml 内的环境名:

conda env create -f environment_full.yml -n new_env_name

2. 查看所有虚拟环境

1
2
3
conda env list
# 等价命令
conda info --envs

3. 激活 / 进入环境

# Windows(CMD/PowerShell)、Linux、Mac通用新版写法
conda activate lidar_seg

提示符最前面 (lidar_seg) 代表你已经成功进入该环境。

4. 退出当前环境,回到 base

conda deactivate

5. 删除虚拟环境(彻底移除)

两种等价写法,必须带上 --all,否则只会卸载包不会删除环境文件夹

1
2
3
conda remove --name lidar_seg --all
# 推荐简写,语义更清晰
conda env remove -n lidar_seg

删除前最好先退出环境,不要在环境内部删除自己。


三、环境导出与迁移(三大导出方案详解,重点避坑)

你踩过的坑:conda env export 导出会连带记录 pip 安装包,重建时自动执行 pip 安装。

三种导出方式对比表

导出方案 命令 优点 缺点 最佳适用场景
全量导出(完整克隆) conda env export -n py312 > environment_full.yml 100%复刻当前环境所有包(conda包+pip包),版本完全锁定 包含平台信息,Windows导出yml不能直接给Linux用 同一台电脑备份、同操作系统机器迁移
不带构建信息导出 conda env export -n py312 --no-builds > environment_nobuilds.yml 移除平台构建标识,同操作系统不同机器兼容性提升 依旧包含 pip 包列表,仍不可跨 Windows‑Linux Windows→Windows,Linux→Linux 迁移
仅历史依赖导出(纯净项目文件) conda env export -n py312 --from-history > environment_history.yml 文件精简,跨平台兼容;只保留你手动conda install安装过的包,不包含隐式依赖、pip包 不会导出 pip 安装过的库,重建后pip包需要手动重装 项目仓库提交、多人协作、跨操作系统迁移

💡 实操建议:

  1. 本机备份环境 → 全量导出 environment_full.yml
  2. 给项目仓库上传环境文件 → --from-history 纯净版

重建环境通用命令

conda env create -f environment_full.yml

四、包管理(conda 安装卸载更新)

注意:conda list 只会列出 conda + pip 全部已安装包(在激活环境后执行)

# 查看当前环境所有安装包
conda list

# 搜索远程仓库是否存在该包
conda search numpy

# 安装最新版包
conda install numpy

# 安装指定版本包
conda install numpy=2.1.0

# 更新包到最新版本
conda update numpy

# 卸载包
conda uninstall numpy
# 等价
conda remove numpy

卸载环境里所有包≠删除环境,删除环境请回到上方「虚拟环境删除」命令


五、conda 缓存清理命令(释放C盘/磁盘空间)

清理缓存不会破坏你已经建好、正在使用的虚拟环境,只是清理下载过的安装包缓存。

命令 清理内容 风险等级 使用场景
conda clean -p 删除没有任何环境引用的解压包 ✅ 安全(首选) 日常清理,优先推荐
conda clean -t 删除缓存目录下 .tar.bz2 / .conda 原始压缩包 ✅ 安全 释放大量磁盘空间
conda clean -i 删除源索引缓存文件 ✅ 安全 换源后,搜索包异常、索引报错
conda clean -pt 清理无用解压包 + 压缩包 ✅ 安全 常规综合清理
conda clean -pti 三合一:-p -t -i ✅ 安全 一键温和清理,定期维护
conda clean -a 清空全部pkgs缓存目录 ⚠️谨慎 磁盘空间严重不足;后续新建环境所有包必须重新下载

六、Python版本管理(环境内切换Python)

⚠️ 建议创建环境时就指定好 Python 版本,中途修改版本容易引发依赖混乱

1
2
3
4
5
# 在已激活环境中更换Python版本
conda install python=3.11

# 更新当前Python到conda仓库最新小版本
conda update python

七、conda 与 pip 的区别 & 混用风险(高频大坑)

核心区别

  1. conda:包管理器 + 环境管理器;可安装 Python / C/C++/CUDA 等非Python二进制依赖;自动解决全链路依赖。
  2. pip:仅 Python 包管理器;无法管理 CUDA、cudnn 等底层库,依赖冲突不会自动处理。

混用风险(重点!)

  • 在同一个 conda 环境中先后使用 conda install、pip install 安装包,很容易破坏 conda 的依赖追踪,后续 conda 更新、卸载包时出现诡异报错。

推荐原则

  1. 优先使用 conda install 安装包;conda源找不到时,再使用 pip install
  2. 一旦混用,导出 yml 文件时 pip 安装的包会被写入 yml 的 pip: 节点;重建环境 conda 会自动调用 pip 重装,就像你上次重建 py312 环境日志里的流程。

八、配套开发常用附加命令(深度学习/你的点云项目)

GPU 状态监控(NVIDIA显卡)

# 实时刷新GPU状态,每秒刷新一次
nvidia-smi -l 1

Tensorboard 可视化

1
2
3
4
5
# 本地查看日志
tensorboard --logdir=log/water_surface/2026-04-01_23-10/tensorboard

# 远程服务器打开,允许外部访问,端口6006
tensorboard --logdir=log/Vaihingen3D/2026-03-08_15-29/tensorboard --host=0.0.0.0 --port=6006

十、常见问题排查清单(结合你刚才yml重建案例)

  1. 重建yml环境,conda activate xxx 提示找不到环境
  2. 原因:yml文件内name:字段名字≠你预想名字
  3. 排查方案:conda env list查看真实环境名,或直接打开yml查看第一行name:的值
  4. 重建yml时出现 FutureWarning
  5. 属于警告,不是报错,环境创建成功无需处理
  6. yml重建环境,pip依赖安装失败
  7. 检查网络;可修改yml中pip镜像源;或者删掉yml内pip:节点手动pip安装
  8. 导出yml重建后包缺失
  9. 如果你用了--from-history导出,pip安装过的包不会被导出,需要手动重装pip库