Python 项目中的 venv 机制介绍
.venv 通常是 Python 项目中的虚拟环境,用于为单个项目提供相对独立的 Python 环境和第三方库。
为什么要这样做?不同项目使用的 Python 解释器版本和第三方库版本可能不同。如果不使用虚拟环境,而是直接修改全局环境并把第三方库都安装到全局环境中,一方面会造成全局环境污染;另一方面,不同项目依赖的版本可能不同,全局环境中解释器或库版本的变化可能改变项目的运行环境,从而导致项目无法正常运行。
例如,一个项目可能长这样:
my_project/
.venv/ 虚拟环境:Python 解释器、pip、安装的第三方库等
main.py 程序入口
requirements.txt 项目依赖清单
.venv的典型形式如下
.venv/
├── Include/
├── Lib/
│ └── site-packages/ 通常存放安装到该环境中的第三方库
│ ├── requests/
│ └── ...
├── Scripts/
│ ├── python.exe 该虚拟环境使用的 Python 解释器
│ ├── pip.exe
│ ├── activate
│ ├── Activate.ps1 在 PowerShell 中激活环境的脚本
│ └── deactivate.bat
└── pyvenv.cfg
虚拟环境使用
-
创建:为项目建立一个独立环境
-
激活:让当前终端优先使用这个环境
-
安装依赖:将第三方包安装到指定环境
-
选择解释器:让 IDE 使用正确的 Python
-
退出:让当前终端恢复原来的环境状态
-
删除:删除整个环境目录,需要时重新创建
1. 使用终端环境创建
# 创建 .venv 在项目目录下执行
python -m venv .venv
# 激活虚拟环境
.\.venv\Scripts\Activate.ps1
# 激活成功后,命令行提示符通常会出现 (.venv)
# (.venv) PS D:\PythonProjects\demo>
# 安装第三方库
# 推荐使用 python -m pip,而不是直接使用 pip,因为它更明确地表示:使用当前这个 python 对应的 pip 安装软件包。
python -m pip install requests
# 退出虚拟环境
deactivate
# 项目依赖保存,即导出当前项目依赖的包,因为git上传的时候一般不会上传.venv文件
# git clone之后需要根据requirements.txt 文件去恢复该项目的虚拟环境
python -m pip freeze > requirements.txt
# 假设你把项目下载到了另一台电脑,或者原来的 .venv 已经损坏,可以重新创建环境并安装依赖:
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install -r requirements.txt
2. 使用Pycharm创建
a) 没有项目,新建项目
b) 已有项目



浙公网安备 33010602011771号