2023-01-17 17:25:35 +08:00
|
|
|
|
---
|
|
|
|
|
title: 概述
|
|
|
|
|
description: Python 虚拟环境概述
|
|
|
|
|
keywords:
|
2023-11-09 17:30:33 +08:00
|
|
|
|
- Python
|
|
|
|
|
- 虚拟环境
|
|
|
|
|
- 概述
|
2023-01-17 17:25:35 +08:00
|
|
|
|
tags:
|
2023-11-09 17:30:33 +08:00
|
|
|
|
- Python/虚拟环境
|
2024-04-26 21:42:22 +08:00
|
|
|
|
- 技术/程序语言
|
2023-01-17 17:25:35 +08:00
|
|
|
|
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 的虚拟环境管理工具。
|
2023-04-07 17:30:16 +08:00
|
|
|
|
- [Conda](https://docs.conda.io/projects/conda/):一个跨平台的包(或库)和虚拟环境管理系统。
|
2023-01-17 17:25:35 +08:00
|
|
|
|
|
2023-01-19 11:05:36 +08:00
|
|
|
|
| 工具 | 优点 | 缺点 | 不同点 |
|
|
|
|
|
| ---------- | ------------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------------ |
|
|
|
|
|
| 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 简单易用。 |
|