虚拟环境是编程开发中用于隔离项目运行环境的工具,它可以为每个项目创建独立的依赖包存储空间和运行配置,让不同项目之间的环境互不干扰。对于Python这类依赖第三方包较多的开发场景,虚拟环境几乎是必备的开发工具。

什么是虚拟环境
虚拟环境本质上是一个独立的目录结构,里面包含了特定版本的Python解释器以及该项目专属的第三方依赖包。它和系统的全局Python环境是相互隔离的,在虚拟环境中安装、卸载、升级依赖包,都不会影响全局环境或者其他虚拟环境。
比如在全局环境中安装了requests库的2.0版本,你可以在某个虚拟环境中安装requests的3.0版本,两个环境的使用完全不会冲突。
为什么要使用虚拟环境
1. 避免依赖版本冲突
不同项目对同一个依赖包的版本要求可能完全不同。假设项目A需要numpy==1.18,项目B需要numpy==1.24,如果都在全局环境安装,后安装的版本会覆盖之前的版本,导致其中一个项目无法正常运行。使用虚拟环境可以让每个项目使用自己需要的依赖版本,彻底解决版本冲突问题。
2. 保持全局环境整洁
如果所有项目的依赖都装在全局环境,全局的site-packages目录会堆积大量不同项目的依赖包,不仅占用空间,还可能出现依赖包之间的隐性冲突。虚拟环境让每个项目的依赖都存放在自己的目录中,全局环境只保留基础的Python解释器即可。
3. 方便项目迁移和协作
虚拟环境可以配合依赖清单文件使用,你可以把当前虚拟环境的所有依赖导出为requirements.txt文件,其他开发者拿到项目后,只需要创建虚拟环境并安装清单里的依赖,就能快速还原和你完全一致的运行环境,避免因为环境差异导致的运行问题。
4. 避免权限问题
在Linux或者macOS系统中,全局安装Python依赖包通常需要管理员权限,操作起来比较麻烦。使用虚拟环境安装依赖只需要普通用户权限即可,不需要申请管理员权限,操作更便捷。
Python虚拟环境使用示例
Python3.3及以上版本内置了venv模块,可以直接用来创建虚拟环境,不需要额外安装工具。
创建虚拟环境
打开终端,进入你的项目目录,执行以下命令创建虚拟环境:
# 创建名为venv的虚拟环境,venv是虚拟环境的目录名,可以自定义 python -m venv venv
激活虚拟环境
不同系统的激活命令不同:
- Windows系统(cmd终端):
venvScriptsactivate.bat - Windows系统(PowerShell终端):
venvScriptsActivate.ps1 - Linux/macOS系统:
source venv/bin/activate
激活成功后,终端的提示符前面会出现(venv)的标识,代表当前已经进入虚拟环境。
安装项目依赖
激活虚拟环境后,使用pip安装的依赖都会存放在当前虚拟环境中:
# 安装指定版本的依赖包 pip install requests==2.28.0 # 查看当前环境已安装的依赖 pip list
导出依赖清单
项目开发完成后,可以导出当前环境的依赖清单,方便其他人还原环境:
pip freeze > requirements.txt
退出虚拟环境
不需要使用虚拟环境时,执行以下命令即可退出:
deactivate
虚拟环境使用注意事项
- 虚拟环境的目录不需要提交到代码仓库,通常可以在
.gitignore文件中添加虚拟环境目录名,避免占用仓库空间。 - 不要手动修改虚拟环境目录里的文件,依赖的安装和卸载都通过
pip命令操作,避免破坏环境结构。 - 如果虚拟环境损坏,可以直接删除整个虚拟环境目录,重新创建即可,不会影响项目本身的代码。
virtual_environmentPython依赖管理环境隔离修改时间:2026-07-02 02:09:31