结论是必须用conda create创建指定Python小版本的独立环境(如python=3.10),再按CUDA兼容性装PyTorch或TensorFlow;严禁在(base)中安装,避免混用pip/conda,导出environment.yml确保可复现。

直接说结论:用 conda create 创建独立环境,再按需装 pytorch 或 tensorflow,别碰系统 Python,也别在 (base) 里硬装。
创建带指定 Python 版本的干净环境
深度学习框架对 Python 小版本敏感,比如 PyTorch 2.4 官方只明确支持 python=3.9 到 python=3.12,但某些 CUDA 组合在 3.12 下可能缺预编译 wheel。稳妥起见,推荐用 3.10 或 3.11。
- 运行
conda create -n dl python=3.10(dl是环境名,可自定义) - 执行
conda activate dl进入环境,提示符应变为(dl) - 别跳过这步——直接在
(base)装包,后续换项目时大概率要重装系统
装 PyTorch:CPU 版和 GPU 版命令完全不同
装错版本是新手最常卡住的地方:明明有显卡,却装了 cpuonly;或者显卡只支持 CUDA 11.8,却硬装 pytorch-cuda=12.1,结果 torch.cuda.is_available() 死活返回 False。
- CPU 版(无显卡或仅测试用):
conda install pytorch torchvision torchaudio cpuonly -c pytorch - NVIDIA GPU 版:先查驱动支持的 CUDA 最高版本——在终端运行
nvidia-smi,看右上角 “CUDA Version: 12.1” 这类字样,再对应安装:conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia - 装完立刻验证:
python -c "import torch; print(torch.__version__, torch.cuda.is_available())",输出应类似2.4.0 True
装 TensorFlow:优先用 conda-forge,别 pip 强装
TensorFlow 的 CUDA 依赖比 PyTorch 更隐蔽,尤其在 Windows 上,pip 安装的 tensorflow 包默认不含 GPU 支持(除非你手动装 tensorflow-gpu,但该包已弃用)。conda-forge 渠道能自动拉取匹配的 cudnn 和 cuda-toolkit。
- GPU 版(CUDA 11.8+):
conda install tensorflow -c conda-forge - CPU 版:
conda install tensorflow-cpu -c conda-forge - 验证命令:
python -c "import tensorflow as tf; print(tf.__version__, tf.config.list_physical_devices('GPU'))",GPU 版应返回非空列表 - 注意:TensorFlow 2.16+ 已不支持 Python 3.8,若你环境是
python=3.8,必须降级到tensorflow=2.15
环境导出与复现:别只靠截图和记忆
团队协作或换机器时,光记“我装了 PyTorch 2.4 + CUDA 12.1”没用。不同时间点 conda 安装的依赖子版本可能不同,导致行为不一致。
- 导出当前环境完整快照:
conda env export > environment.yml - 别人复现只需:
conda env create -f environment.yml - 导出文件里会包含
cuda-toolkit=12.1.1、cudnn=8.9.7等细节,这才是真正可复现的关键 - 如果导出文件太大(含二进制路径),可删掉
prefix:行,保留dependencies:下的内容即可
真正麻烦的不是命令敲不对,而是环境混用后错误信息藏得深——比如 ImportError: DLL load failed 看似是 PyTorch 问题,实际是 numpy 被另一个环境污染了。每次新建项目前,先 conda activate 切到干净环境,这个动作比调参重要得多。

















