【python 内置模块】venv

2024-01-20 00:00:00

目录:

venv 模块介绍

v3.3 版本新增模块,用于创建虚拟环境,隔离运行环境。

原理是通过创建一个目录树来模拟一个轻量级的独立 Python 环境,这个目录包含:

  • 独立的 Python 解释器: 一个与创建环境所用基础 Python 版本相匹配的二进制文件副本或符号链接;
  • 独立的包安装目录: 存放仅属于该虚拟环境的第三方包;
  • 配置文件: 一个 pyvenv.cfg 文件,其中记录了虚拟环境的基础 Python 路径等信息;
  • 激活脚本: 一组用于激活和退出环境的脚本,位于 bin(或 Windows 的 Scripts)子目录下;

当虚拟环境被激活后,终端或命令行的搜索路径(PATH)会被修改,使得 python 和 pip 命令指向虚拟环境内的版本,从而确保所有包操作都被限制在当前环境内。

创建虚拟环境

格式: python3 -m venv /path/to/new/virtual/environment

在当前项目目录下创建一个名为 .venv 或 venv 的环境是最佳实践。

# 在项目根目录下创建一个名为 .venv 的虚拟环境
$ python3 -m venv .venv

激活虚拟环境

# Linux/MacOS 激活命令
$ source .venv/bin/activate

激活成功后,命令行提示符前会显示虚拟环境名称,如 (.venv)。

可以通过 which python(Linux/macOS)或 where python(Windows)命令验证当前 Python 解释器是否指向虚拟环境内部。

虚拟环境内包管理

激活后,即可使用 pip 安装项目所需的包,这些包将被安装到虚拟环境内,与系统全局环境无关。

# 升级虚拟环境内的 pip
pip install --upgrade pip
# 安装项目依赖,例如 requests
pip install requests
# 从 requirements.txt 安装所有依赖
pip install -r requirements.txt
# 导出当前环境的依赖列表
pip freeze > requirements.txt

退出虚拟环境

在任何激活的环境中,输入 deactivate 命令即可退出。

删除虚拟环境

由于虚拟环境本质是一个文件夹,直接删除该目录即可彻底移除环境。

$ rm -rf .venv

返回首页

本文总阅读量  次
皖ICP备17026209号-3
总访问量: 
总访客量: