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) 没有项目,新建项目

image-20261025005025449

b) 已有项目

image-20261025005136978

image-20261025005233970

image-20261025005258424


posted @ 2026-10-25 01:04  阿源-  阅读(8)  评论(0)    收藏  举报