--- title: 概述 description: Python 虚拟环境概述 keywords: - Python - 虚拟环境 - 概述 tags: - FormalSciences/ComputerScience - ProgrammingLanguage - Python/Projects author: 7Wate date: 2023-01-1 --- 虚拟环境是一种在单独的目录中为 Python 项目创建独立的 Python 运行环境的方式。这样可以确保**项目所需的包和版本与其他项目隔离开来,避免版本冲突**。 在 Python 中,有很多工具可以用来创建和管理虚拟环境,如下: - [venv](https://docs.python.org/zh-cn/3/library/venv.html):Python3 中自带的轻量级虚拟环境管理工具。 - [virtualenv](https://virtualenv.pypa.io/):一款老牌、成熟的虚拟环境管理工具。 - [Poetry](https://python-poetry.org/):一个面向未来的 Python 依赖管理和打包工具。 - [pipenv](https://pipenv.pypa.io/):一个较新的结合 pip 和 virtualenv 的虚拟环境管理工具。 - [Conda](https://docs.conda.io/projects/conda/):一个跨平台的包(或库)和虚拟环境管理系统。 | 工具 | 优点 | 缺点 | 不同点 | | ---------- | ------------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------------ | | venv | Python3 内置工具,无需安装额外的包,简单易用的虚拟环境管理。 | 比其他工具(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 简单易用。 |