速查·依赖锁版本与环境复现 "在我机器上能跑"是环境问题的经典梗。本条给依赖管理与环境复现的速查。 锁版本的根本原因 不锁版本, 会装最新版,而最新版可能引入 breaking change。今天能跑的环境,明天重建就可能挂。锁版本让环境在任何时间、任何机器上重建都一致。 推荐做法 requirements.txt 精确锁: 、 ,用 导出当前环境的精确版本。 更现代的方案:用 或 ,它们有 lock 文件,能锁定包括子依赖在内的完整依赖树。 Conda 环境:CUDA 和某些科学计算库用 conda 装更稳,用 锁版本。 固定基础镜像:Dockerfile 里基础镜像用具体 tag( ),别用 (会浮动)。 复现性检查 重建环境后,用 或 对比依赖版本,确保和 lock 文件一致。
"在我机器上能跑"是环境问题的经典梗。本条给依赖管理与环境复现的速查。
不锁版本,pip install package 会装最新版,而最新版可能引入 breaking change。今天能跑的环境,明天重建就可能挂。锁版本让环境在任何时间、任何机器上重建都一致。
torch==2.1.0、transformers==4.36.0,用 pip freeze > requirements.txt 导出当前环境的精确版本。poetry 或 uv,它们有 lock 文件,能锁定包括子依赖在内的完整依赖树。environment.yml 锁版本。python:3.11.7-slim),别用 python:3.11(会浮动)。重建环境后,用 pip list 或 conda list 对比依赖版本,确保和 lock 文件一致。跑一次模型推理的冒烟测试,确认环境可用。
详细见正文第二章 2.2「环境编排与可复现依赖」。