虚拟环境是一种在单独的目录中为 Python 项目创建独立的 Python 运行环境的方式。这样可以确保项目所需的包和版本与其他项目隔离开来,避免版本冲突

在 Python 中,有很多工具可以用来创建和管理虚拟环境,如下:

  • venv:Python3 中自带的轻量级虚拟环境管理工具。
  • virtualenv:一款老牌、成熟的虚拟环境管理工具。
  • Poetry:一个面向未来的 Python 依赖管理和打包工具。
  • pipenv:一个较新的结合 pip 和 virtualenv 的虚拟环境管理工具。
  • Conda:一个跨平台的包(或库)和虚拟环境管理系统。
工具优点缺点不同点
venvPython3 内置工具,无需安装额外的包,简单易用的虚拟环境管理。比其他工具(poetry、pipenv)功能较弱。venv 是 Python3 内置工具,无需安装额外的包,venv 更简单易用,功能不如其他工具强大。
virtualenv广泛使用且文档齐全,兼容 Python2 和 Python3。比其他工具(poetry、pipenv)功能较弱。virtualenv 是第三方包,需要预先安装,virtualenv 更简单易用,功能不如其他工具强大。
poetry强大的依赖管理功能,支持创建和发布包,与其他工具集成良好。不如 pip 和 virtualenv 广泛使用,相对较新,文档较少。poetry 比 venv 和 virtualenv 更强大的依赖管理功能,poetry 适合创建和发布包,不如 venv 和 virtualenv 简单。
pipenv强大的包和环境管理功能,简单易用,能与其他工具良好的集成。不如 pip 和 virtualenv 广泛使用, 相对较新,文档较少。pipenv 比 venv 和 virtualenv 更强大的依赖管理功能,pipenv 简易好用,不如 venv 和 virtualenv 简单易用。
conda强大的包和环境管理功能,适合科学计算和数据科学,跨平台支持。不如 pip 和 virtualenv 广泛使用,相对较新,文档较少。conda 比 venv 和 virtualenv 更强大的依赖管理功能,conda 适用于科学计算和数据科学,不如 venv 和 virtualenv 简单易用。