Python 虚拟环境管理三个工具对比

开发
今天我们就来聊聊 Python 中常用的三个虚拟环境管理工具:venv、virtualenv 和 conda。我们会从安装、使用、优缺点等方面进行详细对比。

虚拟环境是 Python 开发中不可或缺的一部分,它可以帮助你管理不同项目之间的依赖关系,避免版本冲突。今天我们就来聊聊 Python 中常用的三个虚拟环境管理工具:venv、virtualenv 和 conda。我们会从安装、使用、优缺点等方面进行详细对比。

1. venv

venv 是 Python 3.3 之后内置的一个模块,用于创建轻量级的虚拟环境。它非常简单易用,适合初学者。

(1) 安装

venv 是 Python 3.3 及以上版本的内置模块,无需额外安装。

(2) 使用

① 创建虚拟环境

python -m venv myenv

这条命令会在当前目录下创建一个名为 myenv 的虚拟环境。

② 激活虚拟环境

  • Windows:
myenv\Scripts\activate
  • macOS/Linux:
source myenv/bin/activate

③ 安装包

激活虚拟环境后,可以使用 pip 安装所需的包:

pip install requests

④ 退出虚拟环境

deactivate

(3) 优点

  • 内置模块,无需额外安装。
  • 轻量级,占用资源少。

(4) 缺点

  • 功能相对简单,不支持多版本 Python。

2. virtualenv

virtualenv 是一个第三方库,提供了更多的自定义选项,适合需要更多控制的开发者。

(1) 安装

pip install virtualenv

(2) 使用

① 创建虚拟环境

virtualenv myenv

② 激活虚拟环境

  • Windows:
myenv\Scripts\activate
  • macOS/Linux:
source myenv/bin/activate

③安装包

激活虚拟环境后,可以使用 pip 安装所需的包:

pip install requests

④ 退出虚拟环境

deactivate

(3) 优点

  • 支持多版本 Python。
  • 提供更多自定义选项,如指定 Python 版本。

(4) 缺点

  • 需要额外安装。

3. conda

conda 是一个开源的包管理和环境管理系统,支持多个语言,但最常用于 Python。它特别适合科学计算和数据科学领域。

(1) 安装

你可以从 Anaconda 或 Miniconda 下载并安装 conda。

(2) 使用

① 创建虚拟环境

conda create --name myenv

② 激活虚拟环境

conda activate myenv

③ 安装包

激活虚拟环境后,可以使用 conda 安装所需的包:

conda install requests

④ 退出虚拟环境

conda deactivate

(3) 优点

  • 支持多语言和多平台。
  • 强大的包管理和环境管理功能。
  • 预装了许多科学计算和数据科学相关的包。

(4) 缺点

  • 占用资源较多。
  • 安装过程较复杂。

实战案例:使用 venv 创建一个 Flask 项目

假设我们要创建一个简单的 Flask 项目,我们可以使用 venv 来管理项目的依赖。

① 创建虚拟环境

python -m venv flask_env

② 激活虚拟环境

Windows:

flask_env\Scripts\activate

macOS/Linux:

source flask_env/bin/activate

③ 安装 Flask

pip install Flask

④ 创建 Flask 应用

在项目目录下创建一个 app.py 文件,内容如下:

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello, World!'

if __name__ == '__main__':
    app.run()

 ⑤ 运行 Flask 应用

python app.py

打开浏览器,访问 http://127.0.0.1:5000/,你应该会看到 "Hello, World!" 的欢迎页面。

总结

本文介绍了 Python 中常用的三个虚拟环境管理工具:venv、virtualenv 和 conda。venv 是 Python 3.3 之后的内置模块,适合初学者;virtualenv 是一个功能更强大的第三方库,适合需要更多控制的开发者;conda 是一个支持多语言和多平台的包管理工具,特别适合科学计算和数据科学领域。通过实战案例,我们展示了如何使用 venv 创建一个简单的 Flask 项目。

责任编辑:赵宁宁 来源: 手把手PythonAI编程手把手PythonAI编程
相关推荐

2021-08-13 08:42:48

Python 编程技巧poetry

2024-05-28 09:26:42

2024-07-18 08:22:38

2012-09-20 10:35:40

VMware虚拟环境公有云

2022-01-26 09:03:40

架构

2021-05-17 09:52:53

工具dumiVue 组件

2017-01-06 09:57:08

AppSenseLANDesk桌面

2010-11-30 16:26:38

2021-03-04 20:46:32

virtualenvwPython虚拟环境

2021-11-15 05:44:16

Python虚拟环境开发

2020-07-06 07:00:21

PyCharm虚拟环境

2020-02-02 14:45:55

联系人开源工具

2013-07-25 09:31:59

开源云计算

2012-12-27 10:37:11

惠普CloudSystem混合云

2019-07-11 16:20:22

MacOSPython

2021-07-30 20:25:04

pipxPython编程语言

2017-08-01 08:41:29

Oracle开源容器

2017-02-22 15:19:17

服务器虚拟化优化虚拟环境

2009-07-03 19:36:53

BTIM机房环境管理

2012-02-28 10:06:34

虚拟化容灾灾备
点赞
收藏

51CTO技术栈公众号