技术与生活 / 一篇记录
依赖隔离,比“我这台机器能跑”更可靠
系统里多个项目共享同一套包时,一个升级可能改变另一个项目的行为。虚拟环境为项目提供独立安装位置,但仍依赖所选基础解释器与操作系统库。
项目之间需要独立的依赖集合,避免修改一个项目影响另一个项目。
实际怎么检查
以下示例使用 Python 3,文件路径和输入值均为练习样本。
python3 -m venv .venv
检查虚拟环境内解释器与 pip 的实际路径。
遇到异常再检查什么
安装依赖时优先使用环境内解释器的 -m pip,并记录版本。部署服务要直接指定这个解释器,不能假定服务启动时会自动激活交互终端里的环境。
虚拟环境不负责锁定所有版本。依赖清单仍应记录项目需要的范围或确切版本,系统库也需要另行维护。复现环境时先记录解释器版本,再安装依赖,排查才有可靠起点。
激活环境只是调整当前 Shell,部署服务仍应指定解释器路径。
参考:Python 文档。