conda install -r requirements.txt 会报错,因为 conda 不支持 -r 参数;正确做法是:若 requirements.txt 为 pip 格式(含==),用 pip install -r;若为 conda 导出格式(含=和build ID),用 conda install --file;务必先激活目标环境再安装,避免装入 base;遇到包缺失或冲突优先用 pip(如清华镜像或 PyTorch 官方源);混用时应先 conda 后 pip;最后用 python -c 验证关键包能否导入。

conda install -r requirements.txt 会报错?先确认命令是否用对
直接运行 conda install -r requirements.txt 肯定失败——conda install 不支持 -r 参数,这是 pip 的语法。很多人卡在这一步,误以为 conda 和 pip 命令可以混用参数。
正确做法分两种场景:
- 如果你的
requirements.txt是用pip freeze生成的(含==版本号,比如numpy==1.24.3),就该用pip install -r requirements.txt - 如果你的文件是用
conda list --export > requirements.txt导出的(格式类似numpy=1.24.3=py39h6a997c0_0),才该用conda install --file requirements.txt
绝大多数开源项目给的 requirements.txt 都是 pip 格式,别硬套 conda 命令。
激活环境后再装,否则包全装进 base 了
常见错误:打开 Anaconda Prompt 就直接 pip install -r requirements.txt,结果包全装到 base 环境里,和你实际要跑项目的环境完全脱节。
必须先激活目标环境:
- 运行
conda activate myenv(把myenv换成你的环境名) - 确认提示符开头已变成
(myenv) - 再执行
pip install -r requirements.txt
如果没激活就装,后续在 Jupyter 或 IDE 里选了这个环境,却找不到刚装的包——因为根本不在里面。
遇到包冲突或安装失败,优先换 pip 而不是硬扛 conda
conda 官方源里有些包缺失、版本滞后,比如 torch、transformers、lightning 等,用 conda install 经常报 PackageNotFoundError 或版本不匹配。
这时别反复试 conda,直接切 pip:
- 确保已激活目标环境
- 用清华镜像加速:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ -r requirements.txt - 若某包仍失败(如编译型包),可单独装:
pip install torch --index-url https://download.pytorch.org/whl/cu118
conda 和 pip 混用本身没问题,但顺序很重要:先用 conda 装核心科学计算包(python、numpy、scipy),再用 pip 补其他生态包——反过来容易触发依赖破坏。
装完验证:别只看“Successfully installed”
终端显示安装成功,不代表包真能用。尤其要注意:
-
import torch报ImportError: libcudart.so.11.0: cannot open shared object file?说明 CUDA 版本不匹配,得重装对应版本的torch -
import pandas报ImportError: DLL load failed(Windows)?大概率是 conda 和 pip 安装的同一包版本打架,删掉重装 - Jupyter kernel 里 import 失败?检查是否在正确的 kernel 下运行——
jupyter kernelspec list看名字,jupyter kernelspec uninstall myenv再重装 ipykernel
最简单的验证方式:python -c "import pandas, torch, numpy; print('ok')" —— 一行命令,省去开编辑器的麻烦。

















