2026年9月

1.环境管理(核心)

创建新环境:

conda create -n 环境名 python=3.10

(可指定 Python 版本)

激活环境:

conda activate 环境名

退出当前环境:

conda deactivate

查看所有环境:

conda env list

conda info --envs

(当前激活的环境旁会有 * 标记)

删除环境:

conda remove -n modelscope_download_env --all -y

克隆环境:

conda create -n 新环境名 --clone 原环境名

(适合备份或复制环境)

2.包管理

安装包:

conda install 包名

可加 =版本号 指定版本,如

conda install numpy=1.24.0

卸载包:

conda remove 包名

查看已安装的包:

conda list

更新包:

conda update 包名

conda update --all

更新当前环境所有包

搜索包:

conda search 包名

3.环境导出与复现(团队协作必备)

导出完整环境配置:

conda env export > environment.yml

仅导出手动安装的包:

conda env export --from-history > environment.yml

(跨平台兼容性更好)

从配置文件重建环境:

conda env create -f environment.yml

4.镜像源管理(国内加速必备)

查看当前通道:

conda config --show channels

添加清华镜像源:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/

设置显示通道

URL:conda config --set show_channel_urls yes

5.清理与优化

清理所有缓存和无用包:

conda clean --all

查看帮助:

conda --help

conda -h

查看版本:

conda --version

conda -V

优先使用 conda install 安装包;如果 Conda 找不到某个包,再使用 pip install 作为补充。

1. 运行官方卸载脚本

退出所有 conda 环境:

conda deactivate
# 确保提示符前面没有 (base)

在终端中执行以下命令,根据提示输入 yes 确认,程序会自动删除整个 Miniconda3 安装目录(包含所有虚拟环境和包缓存):

~/miniconda3/uninstall.sh

2. 清理 Shell 配置文件

打开 ~/.bashrc(或 ~/.zshrc~/.bash_profile),找到并删除 # >>> conda initialize >>># <<< conda initialize <<< 之间的所有 conda 初始化代码块:

nano ~/.bashrc

需要删除的代码块示例如下:

# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/baijin/miniconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
    if [ -f "/home/baijin/miniconda3/etc/profile.d/conda.sh" ]; then
        . "/home/baijin/miniconda3/etc/profile.d/conda.sh"
    else
        export PATH="/home/baijin/miniconda3/bin:$PATH"
    fi
fi
unset __conda_setup
# <<< conda initialize <<<

保存退出后,执行以下命令使配置生效:

source ~/.bashrc

3. 删除残留隐藏文件与缓存

执行以下命令清理用户目录下的配置文件和缓存:

rm -rf ~/.conda ~/.anaconda ~/.condarc ~/.continuum ~/.cache/conda ~/.cache/conda-anaconda-tos

4. 验证卸载结果

打开一个新的终端窗口,输入 conda 命令。若提示 command not found,则说明已彻底清理干净。

1. 核心机制:优先级插队与向下兼容
Conda 的环境隔离并非绝对封闭的“黑盒”,而是基于操作系统原生机制的“PATH 变量优先级游戏”。当激活某个 Conda 环境时,Conda 会将该环境的 bin 目录动态插入到当前终端会话 PATH 变量的最前端。系统在查找可执行文件时,会严格遵循从左到右的顺序,找到第一个匹配项即停止执行。

2. 三层 PATH 的查找顺位
在激活特定的 Conda 虚拟环境后,底层的命令查找路径(PATH)会形成以下三级阶梯:

  • 第一顺位(最高优先级):Conda Env 专属路径。系统会优先在当前虚拟环境的 bin 目录下寻找命令(如独立的 Python 解释器、pip 或 Conda 安装的特定工具)。
  • 第二顺位(父系继承):Conda Base 路径。若当前环境缺失某工具,系统会向上回溯,在 Conda 的 base 基础环境中进行查找。
  • 第三顺位(系统兜底):WSL 原生系统路径。若前两级均未找到,系统最终会去 WSL 宿主机的全局目录(如 /usr/bin/bin)中寻找底层工具。

3. 隔离的边界:可执行文件 vs Python 模块

  • 系统级命令行工具(如 ffmpeg、git):受 PATH 机制管辖。Conda 环境会优先使用自身或 Base 提供的版本;若缺失,则会无缝“借用” WSL 系统提供的底层工具,实现向下兼容。
  • Python 第三方库(如 numpy、torch):受 Python 解释器的 sys.path 机制管辖。Conda 环境在启动时,会将模块搜索路径严格限定在自身的 site-packages 目录内,完全不会去扫描 WSL 系统的 /usr/lib/python3 目录,从而实现 Python 代码与依赖库的绝对隔离。

4. 会话级生命周期
这种基于 PATH 重排的隔离机制是会话级(Session-level)的。它仅在当前打开的终端窗口内有效。当关闭终端或重启 WSL 时,PATH 变量会恢复为 WSL 系统的默认状态,Conda 环境的激活状态随之失效,需重新执行 conda activate 建立指向。