01 第一步 创建独立 conda 环境 详细说明

下面把“第一步:创建独立 conda 环境”拆成最细颗粒度的 12 步,每一步都给出命令 + 解释 + 常见报错。照着复制即可一次性成功;哪怕从未装过 Anaconda 也能 10 分钟搞定。

前提检查(1 分钟)

Windows:开始菜单搜索 Anaconda Prompt (miniconda3)

如果返回空,先去官网装 miniconda(体积 100 M 以内,比 Anaconda 轻量)。
安装完关闭终端再重开,让 ~/.bashrc 或 ~/.zshrc 里的 PATH 生效。

1.更新 conda 自身

因为 Anaconda 在 2024 年末把 repo.anaconda.com 下的默认频道改成了“需先在线接受 ToS(Terms of Service)”模式。

只要一次性接受即可,后面就不会再弹:

一次性接受 ToS(30 秒)

把官方提示的三条命令一次性跑完即可,每条都要完整复制:

1
2
3
conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/main
conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/r
conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/msys2

Windows 在 Anaconda Prompt 里执行;macOS/Linux 在终端执行。

执行后会出现 “Terms of Service accepted …” 字样,表示成功。

1
conda update -n base -c defaults conda -y

不更新可能遇到 “Solving environment: failed with initial frozen solve”。

2. 创建干净环境(30 秒)

1
conda create -n ml python=3.11 -y
  • 环境名 ml 可任意换;Python 3.11 是目前(2026-01)与 torch 2.x、scikit-learn 1.5 最稳组合。
  • 不要加 anaconda 元包,否则一次 2 G;我们只装“最小 Python”。

3. 激活环境(Windows/macOS/Linux 通用)

1
conda activate ml

激活后提示符最左边出现 (ml),表示后续 pip/conda 都装在该环境,不会污染系统。

4.配置国内镜像(2 分钟,一次配置永久生效)

1
2
3
4
5
6
7
# conda 源
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 --set show_channel_urls yes

# PyPI 源
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

公司内网可用 –trusted-host 或自建 Artifactory;教育网用户可把 tuna 换成 ustc。

装深度学习核心包(CPU 版,1 分钟)

1
pip install torch torchvision torchaudio
  • 后续有更新 再 pip install –upgrade torch torchvision torchaudio

6. 装科学计算与 Jupyter(1 分钟)

1
pip install numpy pandas scikit-learn matplotlib seaborn jupyter jupyterlab
  • 全部用 pip 安装,版本比 conda-forge 新,且与 torch 依赖冲突最少。
  • 如果公司要求 conda 审计,可改 conda install -c conda-forge …,但解决时间可能 3-5 分钟。

7. 装开发辅助工具(30 秒)

1
pip install black nbstripout torchinfo ipykernel

black:保存时自动格式化 Python 代码。
nbstripout:提交前自动清除 notebook 输出,避免 Git 冲突。
ipykernel:让 ml 环境出现在 Jupyter 内核列表。

8. 把环境注册成 Jupyter 内核(30 秒)

1
python -m ipykernel install --user --name ml --display-name "Python (ml)"

以后无论系统默认 Python 是什么,Jupyter 里都能选 Python (ml) 内核,保证包隔离。

9. 生成 requirements.txt 锁版本(30 秒)

Windows(PowerShell / Anaconda Prompt)

1
pip freeze > requirements.txt

手动删除全部 +cpu,否则下次装错版本。
一行命令就能替换掉,在 (ml) 环境里执行:

10. 测试一键重装(验证可复现)

另开一个终端:

1
2
3
4
5
conda env remove -n ml       # 删掉刚建的环境
conda create -n ml python=3.11 -y
conda activate ml
pip install -r requirements.txt
python -c "import torch, sklearn, pandas, jupyterlab; print('OK')"

能打印 OK 说明锁文件有效,团队其他成员 git clone 后 2 分钟即可复现。

11. 可选:把环境写进 .yml(团队共享更清爽)

1
conda env export --no-builds | Select-String -Pattern '^prefix:' -NotMatch | Set-Content environment.yml

别人只需:

1
2
3
4
# 执行 environment.yml 前需要把 environment.yml 里的 name: base 重命名
# base 是 conda 的保留环境名,不允许覆盖。可以改成ml2或者其他
# 还有把+cpu给去掉
conda env create -f environment.yml

pip 包也会记录在 environment.yml 的 pip: 字段,跨平台更稳。