Windows下Python venv的创建与使用
为什么要使用虚拟环境?
想象一下,你有两个乐高项目:一个是千年隼号,另一个是霍格沃茨城堡。
- 千年隼号需要很多灰色、白色的特殊零件。
- 霍格沃茨城堡则需要很多棕色、黄色的砖块。
如果你把所有零件都倒在一个大箱子里,会发生什么?当你拼装千年隼时,可能会错拿城堡的零件;当你想把城堡的零件分享给朋友时,却很难从大箱子里把它们都找出来。这简直是一场灾难!
Python 也是如此:
- 项目 A(千年隼)可能需要
requests库的2.25.0版本。 - 项目 B(霍格沃茨)可能需要
requests库的另一个版本2.28.0。
如果你把所有库(零件)都安装在全局的 Python 环境(大箱子)里,这两个项目就会发生冲突,导致一个(或两个都)无法正常运行。
虚拟环境就是为了解决这个问题而生的。它就像是为每个项目准备一个独立的零件盒。
- 千年隼号的零件放在“千年隼专用盒”里。
- 霍格沃茨城堡的零件放在“霍格沃茨专用盒”里。
这两个盒子互不干扰,完美隔离。在 Python 中,venv 就是创建这种“独立零件盒”的官方工具。
确认你的Python已就绪
在开始之前,请确保你已经在 Windows 上安装了 Python。
最重要的提示: 在安装 Python 时,请务必勾选 “Add Python to PATH” 选项。这会让后续操作方便很多。
安装完成后,打开 PowerShell(在开始菜单搜索 “PowerShell” 并打开)或 CMD,输入以下命令来验证:
1 | python --version |
如果你能看到版本号输出,那么恭喜你,准备工作完成!

经典方式:使用 venv 模块
这是 Python 内置的标准方法,我们先从它开始。
步骤 1:创建项目文件夹并进入
首先,为你未来的项目创建一个文件夹。比如,我们创建一个名为 my-python-project 的文件夹,然后通过命令行进入它。
1 | mkdir E:\my-python-project |
步骤 2:创建虚拟环境
在项目文件夹内,运行以下命令来创建一个虚拟环境。我们通常将虚拟环境文件夹命名为 .venv(前面的点表示它是一个隐藏文件夹,这是一种约定俗成的做法)。
1 | python -m venv .venv |
python -m venv: 表示“嘿,Python,请运行你的venv模块”。.venv: 这是我们要创建的虚拟环境文件夹的名字。
命令执行完后,你会发现项目文件夹里多了一个名为 .venv 的子文件夹。这里面存放了一个迷你的、独立的 Python 解释器和相关工具。

步骤 3:激活虚拟环境
环境创建好了,但它还处于“休眠”状态。我们需要“激活”它,才能开始使用。在 PowerShell 中,运行:
1 | .\.venv\Scripts\activate |
激活成功后,你会看到命令行提示符的前面多了一个 (.venv) 的前缀。这告诉你:“当前你正处于 .venv 这个虚拟环境中!”

提示: 如果你使用的是旧版的 CMD,激活命令是
\.venv\Scripts\activate.bat。但我们更推荐使用 PowerShell。
步骤 4:在虚拟环境中安装库
现在,我们可以放心地安装“零件”了。比如,我们安装一个非常流行的网络请求库 requests。
1 | pip install requests |
这个 requests 库只会被安装到 .venv 这个“零件盒”里,不会污染你的全局 Python 环境。
你可以用 pip list 来查看当前环境中安装了哪些库。你会看到 requests 和它的一些依赖库,但不会看到你全局环境中安装的其他库。
步骤 5:退出虚拟环境
当你完成了在这个项目上的工作,想要回到全局环境时,只需输入:
1 | deactivate |
你会发现,命令行前面的 (.venv) 前缀消失了,一切又回到了最初的样子。
与 VSCode 梦幻联动(?
每次都手动敲命令激活环境是不是有点麻烦?别怕,强大的代码编辑器 Visual Studio Code (VSCode) 可以让这个过程自动化!
步骤 1:安装 Python 扩展
在 VSCode 中,进入扩展市场(侧边栏的积木图标),搜索并安装由 Microsoft 提供的官方 Python 扩展。

步骤 2:用 VSCode 打开项目文件夹
使用 VSCode 的 File -> Open Folder...,选择我们之前创建的 my-python-project 文件夹。
步骤 3:选择 Python 解释器
打开文件夹后,VSCode 通常会非常智能地检测到 .venv 文件夹,并弹出一个提示,询问你是否要使用这个环境。点击“是”即可。
如果错过了弹窗,也可以手动选择:
- 按
Ctrl+Shift+P打开命令面板。 - 输入并选择
Python: Select Interpreter。 - 在弹出的列表中,选择带有
('.venv': venv)标识的那个解释器。

步骤 4:神奇的自动激活!
选择好解释器后,最神奇的事情发生了!点击 VSCode 菜单栏的 Terminal -> New Terminal 打开一个新的集成终端。你会发现,它已经自动帮你激活了 .venv 环境!

从此以后,只要你在 VSCode 中为这个项目工作,打开的任何新终端都会是激活好的状态,你再也不用手动敲 .\.venv\Scripts\activate 了!
认识下一代工具 uv
venv 和 pip 是经典组合,但现在有了一个更快、更现代的工具——uv。它由 ruff 的作者开发,号称可以替代 pip、pip-tools 和 venv,并且速度极快。
步骤 1:安装 uv
在 PowerShell 中,使用以下命令安装 uv:
1 | irm https://astral.sh/uv/install.ps1 | iex |
步骤 2:使用 uv 创建和管理环境
uv 的命令非常简洁:
1 | uv venv |
uv 的最大优势在于其惊人的速度,尤其是在安装包含许多依赖的复杂库时,你会体验到肉眼可见的提升。对于追求效率的开发者来说,它是一个非常值得尝试的新工具。
管理你的项目依赖
当你和他人协作,或者需要将项目部署到另一台电脑上时,如何确保他们的环境和你的一模一样呢?答案是 requirements.txt 文件。
生成依赖列表:
在已激活的虚拟环境中,运行:1
2
3
4
5# 使用 pip
pip freeze > requirements.txt
# 或者使用 uv
uv pip freeze > requirements.txt这个命令会将当前环境中所有已安装的库及其版本号,都记录到
requirements.txt文件里。从列表安装依赖:
当你的同事拿到你的项目后,他们只需创建并激活自己的虚拟环境,然后运行:1
2
3
4
5# 使用 pip
pip install -r requirements.txt
# 或者使用 uv
uv pip install -r requirements.txt这样,他们就能一键安装所有和你项目完全一致的依赖库了!
掌握虚拟环境,是你从 Python 新手迈向专业开发者的关键一步。现在,去为你的项目创建它的第一个零件盒吧!