不灭的火

革命尚未成功,同志仍须努力下载JDK17

作者:AlbertWen  添加时间:2025-02-28 23:20:24  修改时间:2025-03-29 03:48:05  分类:01.Python基础  编辑

在 Python 开发过程中,我们经常需要管理不同项目的依赖,而 venv(Virtual Environment) 是 Python 内置的轻量级虚拟环境管理工具,能够帮助我们在不同项目之间隔离依赖,避免环境冲突。

本文将详细介绍 venv 的使用方法,包括创建、激活、管理和删除虚拟环境,并结合实际案例帮助开发者高效管理 Python 项目。

1. 什么是 venv?

venv 是 Python 3.3 及以上版本提供的 虚拟环境管理工具,用于创建独立的 Python 运行环境。

1.1 为什么需要 venv?

在不同的 Python 项目中,我们可能需要使用不同版本的库。例如:

  • 项目 A 需要 Django 3.2
  • 项目 B 需要 Django 4.0

如果没有 venv,我们的 Python 运行环境会变得混乱,可能导致软件冲突。而 venv 可以:

  • 隔离项目依赖,避免不同项目的库版本冲突。
  • 保持全局 Python 环境干净。
  • 方便部署和迁移,让项目运行更稳定。

2. 如何创建 venv?

在 Python 3.3 及以上版本,我们可以使用 venv 模块来创建虚拟环境。

2.1 基本命令

在项目目录下运行以下命令创建虚拟环境:

python -m venv .venv

其中:

  • python -m venv 是创建虚拟环境的命令。
  • .venv 是虚拟环境的名称,可以自定义。

执行后,.venv 目录将被创建,包含 Python 解释器和基础库。

3. 如何激活 venv?

创建 venv 后,我们需要激活它才能在其中运行 Python 和安装库。

3.1 Windows 下激活 venv

【注意】Win11下执行如下命令会报错,解决方案见文末

.venv\Scripts\activate

激活成功后,命令行前会出现 (.venv),表示当前正在使用该虚拟环境。

3.2 macOS/Linux 下激活 venv

source .venv/bin/activate

同样,激活后会看到 (.venv) 前缀。

4. 如何管理依赖?

在 venv 中,我们可以使用 pip 安装、列出和管理项目依赖。

4.1 安装库

在虚拟环境激活状态下,直接运行:

pip install requests

4.2 查看已安装库

pip list

4.3 导出依赖(生成 requirements.txt 文件)

pip freeze > requirements.txt

4.4 从 requirements.txt 安装依赖

如果要在另一台设备上安装相同的依赖,可以运行:

pip install -r requirements.txt

5. 退出和删除 venv

5.1 退出虚拟环境

要退出 venv,运行:

deactivate

5.2 删除虚拟环境

如果不再需要 venv,可以直接删除目录:

rm -rf .venv  # macOS/Linux
rd /s /q .venv  # Windows

6. venv vs. virtualenv vs. conda

除了 venv,我们还可以使用 virtualenv 和 conda 来管理 Python 环境。

工具 适用场景 是否内置
venv 适用于大部分 Python 项目 ✅ Python 3.3+ 内置
virtualenv 适用于 Python 2 或需更高级功能 ❌ 需安装
conda 适用于数据科学、机器学习 ❌ 需安装 Anaconda

7. 结论

venv 是 Python 内置的强大虚拟环境工具,适用于大多数 Python 项目。通过使用 venv,我们可以更轻松地管理项目依赖,避免环境冲突。

推荐使用场景:

  • 需要隔离 Python 项目依赖时。
  • 希望保持全局 Python 环境干净时。
  • 进行 Python 项目开发和部署时。

 


 

Windows 11 执行 .venv\Scripts\activate 报错:

无法加载文件xxx,因为在此系统上禁止运行脚本

解决方案:

以管理员身份运行“Windows PowerShell”

执行如下命令后,输入“Y”

set-executionpolicy remotesigned