Python内置venv虚拟环境工具的使用完全指南

Written by

in

文章目录
  • 确保你的系统已安装 Python 3.3+(可通过 python3 –version 或 python –version 验证)。部分 Linux 系统(如 Ubuntu)默认未安装 venv 模块,需先执行以下命令安装依赖: # Ubuntu/Debian系列 sudo apt update && sudo apt install -y python3-venv
  • venv 虚拟环境是普通文件夹,直接删除对应文件夹即可(删除后不可恢复,需谨慎操作): 系统类型 删除命令 / 操作 Linux/macOS rm -rf 环境名(示例:rm -rf my_project_venv_with_global) Windows 手动删除环境文件夹,或在 CMD/PowerShell 中执行 rd /s/q 环境名(示例:rd /s/q my_project_venv_with_global)
  • 操作 命令格式 关键说明 基础隔离模式创建 python3 -m venv 环境名 完全隔离系统全局包,依赖需重新安装,无版本冲突风险 继承系统包创建 python3 -m venv –system-site-packages 环境名 继承系统全局包,节省空间,注意版本兼容性 激活虚拟环境 按系统选择对应命令(如 Linux:source 环境名 /bin/activate) 激活后终端带环境名前缀,操作仅作用于当前环境 退出虚拟环境 deactivate 所有系统通用,退出后回到全局 Python 环境 查看虚拟环境 ls(Linux/macOS)/ dir(Windows) 虚拟环境本质是文件夹,通过系统命令查看 删除虚拟环境 rm -rf 环境名(Linux/macOS)/rd/s /q 环境名(Windows) 直接删除文件夹,需先退出虚拟环境,删除后不可恢复 venv 轻量、无额外依赖,是简单 Python 项目环境隔离的首选工具。基础隔离模式适合大多数场景,–system-site-packages 参数则为大型依赖复用提供了便捷方案,可根据项目需求灵活选择~ 到此这篇关于Python内置venv虚拟环境工具的使用完全指南的文章就介绍到这了,更多相关Python venv虚拟环境内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客! 您可能感兴趣的文章: Python自带的venv模块创建虚拟环境全流程 使用venv重建python虚拟环境的步骤实现 python激活虚拟环境(venv)的实现 Python中venv虚拟环境超详细讲解 Python的venv虚拟环境使用及说明 Python虚拟环境venv配置文件pyvenv.cfg的实现 Python:pycharm中虚拟环境venv的使用及说明
  • 目录
    • 一、前提准备
    • 二、核心操作详解
      • 1. 创建虚拟环境
      • 2. 查看虚拟环境
      • 3. 激活虚拟环境
      • 4. 退出虚拟环境
    • 三、补充操作:删除虚拟环境
      • 四、核心总结

        venv 是 Python 3.3 + 自带的内置虚拟环境工具,无需额外安装,核心作用是为不同 Python 项目创建隔离的运行环境,避免依赖包版本冲突。下面详细讲解它的创建、查看、激活、退出等核心操作,同时覆盖不同系统的差异。

        确保你的系统已安装 Python 3.3+(可通过 python3 --version 或 python --version 验证)。部分 Linux 系统(如 Ubuntu)默认未安装 venv 模块,需先执行以下命令安装依赖:

        # Ubuntu/Debian系列
        sudo apt update && sudo apt install -y python3-venv
        

        (1)基础创建(默认隔离模式)

        命令格式:

        # 基础命令:在当前目录创建名为【环境名】的虚拟环境(默认不继承系统全局包)
        python3 -m venv 环境名
        

        示例

        # 创建名为my_project_venv的虚拟环境(隔离模式)
        python3 -m venv my_project_venv
        

        说明:执行命令后,当前目录会生成与 “环境名” 同名的文件夹,包含 Python 解释器、pip 工具、依赖包存储目录等。默认情况下,虚拟环境是完全隔离的,不会使用系统全局安装的 Python 包,所有依赖需重新通过 pip 安装。

        若系统存在多个 Python 版本(如 Python3.8、Python3.10),可指定具体版本创建:

        python3.8 -m venv my_project_venv_38  # 使用Python3.8创建虚拟环境
        python3.10 -m venv my_project_venv_310  # 使用Python3.10创建虚拟环境
        

        (2)带 –system-site-packages 参数创建(继承系统全局包)

        参数含义:

        --system-site-packages 是 venv 的核心可选参数,作用是让创建的虚拟环境继承系统全局 Python 环境中已安装的包(如系统全局安装的 numpy、tensorflow 等),避免重复下载大型依赖包,节省磁盘空间和时间。

        适用场景:

        • 系统已全局安装某个大型库(如深度学习框架、科学计算库),多个项目需共用该库,无需重复安装;
        • 部分库依赖系统底层环境(如硬件驱动相关包),全局安装后需在虚拟环境中直接使用。

        命令格式与示例:

        # 带系统包继承的创建命令
        python3 -m venv --system-site-packages 环境名
        
        # 示例:创建继承系统全局包的虚拟环境(命名建议带标识,方便区分)
        python3 -m venv --system-site-packages my_project_venv_with_global
        

        关键注意事项:

        • 继承时机:仅在虚拟环境创建时同步系统全局包,后续在系统全局安装的新包,不会自动同步到已创建的虚拟环境(需重新创建或手动在虚拟环境中安装);
        • 版本优先级:虚拟环境中通过 pip 安装的包,优先级高于继承的系统全局包(即若虚拟环境和系统全局安装了同一包的不同版本,会优先使用虚拟环境中的版本);
        • 兼容性风险:若系统全局包版本与项目需求冲突,可能导致项目报错,此时建议使用基础隔离模式创建虚拟环境,单独安装适配版本的依赖。

        核心逻辑:venv 创建的虚拟环境本质是普通文件夹,没有专属的查询命令,需通过系统的文件查询指令查看。

        不同系统操作:

        系统类型 查看命令 说明
        Linux/macOS ls 目录路径(默认当前目录直接输入 ls) 列出指定目录下的文件夹,虚拟环境文件夹即为已创建的环境(如 my_project_venv)
        Windows(CMD) dir 目录路径(默认当前目录直接输入 dir) 列出当前目录下的文件夹 / 文件,可见虚拟环境文件夹
        Windows(PowerShell) Get-ChildItem(简写 gci) 效果同 dir,更简洁的 PowerShell 指令

        示例(Linux/macOS):

        # 查看当前目录下的虚拟环境
        ls
        # 输出:my_project_venv  my_project_venv_with_global (两个虚拟环境文件夹)
        
        # 查看指定目录下的虚拟环境(如~/projects/venvs/)
        ls ~/projects/venvs/
        

        激活后,终端会显示虚拟环境名称前缀(如 (my_project_venv)),此时通过 pip 安装的依赖会仅存于该环境(继承模式下,新增依赖仍安装在虚拟环境内,不影响系统全局)。

        不同系统激活命令:

        系统类型 激活命令
        Linux/macOS source 环境名 /bin/activate(示例:source my_project_venv_with_global/bin/activate)
        Windows(CMD) 环境名 Scriptsactivate.bat(示例:my_project_venv_with_globalScriptsactivate.bat)
        Windows(PowerShell) . 环境名 ScriptsActivate.ps1(示例:.my_project_venv_with_globalScriptsActivate.ps1)

        激活成功标识:终端前缀会新增 (环境名),例如:

        • Linux/macOS:(my_project_venv_with_global) user@localhost:~$
        • Windows:(my_project_venv_with_global) C:UsersXXX>

        验证激活状态(可选):

        # 查看当前Python路径(指向虚拟环境内的Python解释器)
        which python3  # Linux/macOS
        where python   # Windows
        
        # 查看当前pip路径(指向虚拟环境内的pip)
        which pip3     # Linux/macOS
        where pip      # Windows
        
        # 验证继承的系统包(继承模式下执行,可看到系统全局安装的包)
        pip list  # 列出虚拟环境中的所有包(含继承的系统包和后续安装的包)
        

        命令(所有系统通用):在已激活虚拟环境的终端中,直接输入以下命令,无需额外参数:

        deactivate
        

        退出成功标识:终端前缀的 (环境名) 消失,恢复到系统默认终端样式,此时操作会回到系统全局 Python 环境。

        venv 虚拟环境是普通文件夹,直接删除对应文件夹即可(删除后不可恢复,需谨慎操作):

        系统类型 删除命令 / 操作
        Linux/macOS rm -rf 环境名(示例:rm -rf my_project_venv_with_global)
        Windows 手动删除环境文件夹,或在 CMD/PowerShell 中执行 rd /s/q 环境名(示例:rd /s/q my_project_venv_with_global)

        操作 命令格式 关键说明
        基础隔离模式创建 python3 -m venv 环境名 完全隔离系统全局包,依赖需重新安装,无版本冲突风险
        继承系统包创建 python3 -m venv –system-site-packages 环境名 继承系统全局包,节省空间,注意版本兼容性
        激活虚拟环境 按系统选择对应命令(如 Linux:source 环境名 /bin/activate) 激活后终端带环境名前缀,操作仅作用于当前环境
        退出虚拟环境 deactivate 所有系统通用,退出后回到全局 Python 环境
        查看虚拟环境 ls(Linux/macOS)/ dir(Windows) 虚拟环境本质是文件夹,通过系统命令查看
        删除虚拟环境 rm -rf 环境名(Linux/macOS)/rd/s /q 环境名(Windows) 直接删除文件夹,需先退出虚拟环境,删除后不可恢复

        venv 轻量、无额外依赖,是简单 Python 项目环境隔离的首选工具。基础隔离模式适合大多数场景,--system-site-packages 参数则为大型依赖复用提供了便捷方案,可根据项目需求灵活选择~

        到此这篇关于Python内置venv虚拟环境工具的使用完全指南的文章就介绍到这了,更多相关Python venv虚拟环境内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客!

        您可能感兴趣的文章:

        • Python自带的venv模块创建虚拟环境全流程
        • 使用venv重建python虚拟环境的步骤实现
        • python激活虚拟环境(venv)的实现
        • Python中venv虚拟环境超详细讲解
        • Python的venv虚拟环境使用及说明
        • Python虚拟环境venv配置文件pyvenv.cfg的实现
        • Python:pycharm中虚拟环境venv的使用及说明

        站内搜索