🐍Python 工程与虚拟环境

虚拟环境与依赖管理

面试回答

常见问法

Python 为什么特别强调虚拟环境?

回答

因为 Python 项目高度依赖第三方包,而不同项目常常需要不同版本依赖。虚拟环境的核心作用是把项目依赖隔离开,避免全局环境污染和版本冲突。

常见工具有:

  • venv
  • virtualenv
  • conda(更偏环境管理)
python -m venv .venv

追问

  • 为什么不建议所有包都装到全局 Python
  • 虚拟环境和容器有什么区别
  • 团队协作时怎么固定依赖版本

原理展开

虚拟环境通常会提供独立的:

  • Python 可执行入口
  • site-packages 目录
  • pip 安装上下文

这样一个项目升级依赖,不会影响另一个项目。

面试里如果只说“方便管理”太空,最好补一句: “Python 工程最大的问题之一就是依赖冲突,虚拟环境本质是在项目粒度做解释器和包隔离。”

易错点

  • 全局环境直接安装所有依赖
  • 把虚拟环境理解成完整容器替代品
  • 团队协作里只说“我本地能跑”