6. IDE 配合:VSCode 与 PyCharm
这是什么:IDE = 集成开发环境,写代码、提示补全、断点调试都在一个软件里完成;本章讲 VSCode 与 PyCharm 怎么认出你的 .venv。
为什么用:终端里万事俱备,但写代码在编辑器里。IDE 认错了环境,补全、调试、「运行按钮」都会对着全局环境表演,代码一跑就报错。
如何用:本章先在 VSCode 里选解释器、开自动激活,再给 PyCharm 指认同一个 .venv。
6.1 VSCode:三层体验
① 自动识别:VSCode 打开含 .venv/ 的目录后,右下角状态栏通常自动显示 Python 3.12.x ('.venv': venv)。没识别就手动选。
② 手动选解释器:
Ctrl+Shift+P打开命令面板- 输入
Python: Select Interpreter - 在列表点选
('my-project': ...) .venv那一项
③ 自动激活:选择解释器后,VSCode 每次新建内置终端会自动执行激活命令——右手边终端提示符自带 (.venv),忍不住双手夸 IDE 一回。
顺手在
.vscode/settings.json里钉死这个项目在谁的解释器上(团队一致性):{ "python.defaultInterpreterPath": "${workspaceFolder}/.venv" }
6.2 PyCharm:一劳永逸
File → Settings → Project: xxx → Python Interpreter- 齿轮 →
Add Interpreter → Add Local Interpreter - 选 Virtualenv Environment → Existing,路径指到
项目/.venv/bin|Scripts/python.exe
进一步:让 PyCharm 连「创建项目」都自动带环境——New Project 时直接勾选 New virtualenv environment., 从第一天就隔离。
6.3 为什么必须选对解释器
| 环境不对时 | 表现 |
|---|---|
| 补全 | 提示的全局包,你项目里根本没有 |
| 调试 | 断点在.venv 内命中错版本的库代码 |
| 运行 | 「ImportError」风暴:找不到装过的包 |
| 版本 | 用错 flask 版本,标准行为就不同 |
黄金一致性:终端里跑得动 ⇔ 编辑器运行键跑得动 ⇔ 团队拉克隆后跑得动。三者共享同一个 .venv 时天然成立。
6.4 常见坑
- VSCode 开了外层目录:
.venv在work/blog-old/,但 VSCode 开了work/→ 找不到环境。在工作目录直接打开含 .venv 的根(第 5 章布局也是这么设计的) - 换环境忘切解释器:看到运行结果「不对劲」→ 想起第 5 章三问,同时别忘检查编辑器右下角
- 复制粘贴别人的 .venv:环境不可搬家(内部路径写死)。正确姿势 = 拿 requirements.txt 重建
6.5 动手改
- VSCode 打开一个建好
.venv的项目,确认右下角显示环境名 - 故意选成全局解释器跑一段
import flask,观察报错后切回来 - PyCharm 用户:新项目直接用自带 New virtualenv 建环境
6.6 小结
- VSCode:
Python: Select Interpreter选.venv,内置终端自动激活 - PyCharm:Settings → Interpreter → Existing 指向
.venv - 终端 / 编辑器 / 团队三方一致是舒适开发的底线;环境不可搬家,清单才是可移动资产