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 | conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/main |
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 | # conda 源 |
公司内网可用 –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 | conda env remove -n ml # 删掉刚建的环境 |
能打印 OK 说明锁文件有效,团队其他成员 git clone 后 2 分钟即可复现。
11. 可选:把环境写进 .yml(团队共享更清爽)
1 | conda env export --no-builds | Select-String -Pattern '^prefix:' -NotMatch | Set-Content environment.yml |
别人只需:
1 | # 执行 environment.yml 前需要把 environment.yml 里的 name: base 重命名 |
pip 包也会记录在 environment.yml 的 pip: 字段,跨平台更稳。