🐸 青蛙编程网
首页 / Python / 虚拟环境 venv / 2. 创建与激活

2. 创建与激活第一个虚拟环境

这是什么:python -m venv = 在项目目录里生成一个名为 .venv 的虚拟环境文件夹;激活 = 让终端临时切进这个环境。

为什么用:上一章说清了隔离的价值,接下来得真造一个出来。只有在激活的状态下装包,pip 才会把包装进这个项目,而不是全局。

如何用:本章两条命令创建、一条命令激活,Windows、macOS、Linux 三套命令全给你,再用 pip -V 验证。

2.1 创建

cd my-project          # 进入项目目录(没有就 mkdir 建一个)
python -m venv .venv   # 在当前目录创建名为 .venv 的虚拟环境

几秒后你会看到目录里多了一个 .venv/ 文件夹:

my-project/
└── .venv/
    ├── Scripts/        ← Windows 的可执行文件在这
    ├── bin/            ← macOS/Linux 的在这
    └── ...(pyvenv.cfg 等)

命名用 .venv(点开头)是社区惯例:隐藏目录、IDE 自动识别、.gitignore 一行通杀。

2.2 激活

Windows PowerShell:

.venv\Scripts\Activate.ps1

Windows CMD:

.venv\Scripts\activate.bat

macOS / Linux:

source .venv/bin/activate

激活成功的标志——提示符前多了 (.venv):

(.venv) PS C:\Work\my-project>

PowerShell 首次激活报错(本站教程常见翻车点):

...running scripts is disabled on this system.

解决——放开当前用户的脚本执行策略,然后重开终端再试:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

2.3 验证:环境真的生效了吗

(.venv) python -m site

你会看到 sys.path 里 第一个路径就是 .venv\...\site-packages——之后 pip 装的东西都进这里,而不是全局。

也可以直接:

(.venv) where python     # Windows
(.venv) which python     # macOS/Linux

输出指向 .venv 内部即成功。

2.4 退出与「激活」的本质

(.venv) deactivate       # 退出环境,回到全局

记住本质:激活只影响当前这个终端窗口。新开一个终端不会自动激活,要再手动执行一次激活命令。关掉终端 = 自动退出,不存在「残留状态」。

三个环境里可以是一套代码、三个解释器入口——激活哪个,用哪个。

2.5 动手改

  1. 建一份 .venv,激活 python -m site 对照第 1 章的全局结果
  2. deactivate 后再跑 which python,确认回到全局
  3. 故意把 .venv 重命名为 .venv_bak,再激活——体会「环境 = 文件夹」

2.6 小结

  • python -m venv .venv 创建;各有各的激活命令,成功标志是提示符前的 (.venv)
  • PowerShell 报「disabled」就改执行策略
  • 激活只管当前终端;退出 deactivate / 关窗即失效

下一章:正确地用 pip 装包 🐸

📥 下载本章代码

ZIP 内含本章全部代码文件与说明,解压即用,与教程内容同步生成。