简介:面向在 Visual Studio Code 中搭建 Python 开发环境的开发者,资源汇总了 2024 年环境配置所需的核心模板与配置素材,涵盖从基础环境安装到编辑器个性化设置的常见场景,适合刚接触 Python 或希望统一团队开发环境的读者直接取用。
资源包共 152 个文件、约 3.54MB,以 87 个 tmpl 模板文件为主,搭配 json、cfg、yml 等配置类型,可覆盖各类编辑器与工具链需求;另含 10 个 ts 与多个 py、cpp、cs、rs 等代码示例,便于对照不同语言的配置写法。md 文档与 png、gif 演示图则提供了图文与动图参考,降低上手门槛。整体目录结构清晰,检索方便。
截至目前已有 1394 人学习下载。对需要快速完成 VSCode 中 Python 环境搭建、同时希望了解模板化配置思路的开发者来说,这份资源能够省去逐个整理配置项的时间,直接参照现成文件落地实践。
1. 为什么直到今天,VSCode 里配置 Python 开发环境依然值得从头梳理一遍
很多人觉得「在 VSCode 中配置 Python 开发环境」无非就是装个插件、选个解释器,有什么好写的?但 2024 年我帮同事收拾过太多台问题机器:Python 装了两个版本、终端能 import 但调试器报错、格式化工具互相打架、venv 建好却从未激活……这些都不是 VSCode 的问题,而是「编辑器、解释器、环境变量、虚拟环境」这几层之间的连接没理顺。这篇不是按「最全」去罗列插件,而是把从裸机到能调试、能跑测试的完整链路走一遍。适合刚接触 Python 的初学者,也适合想在新电脑上快速定型环境的老手。
2. 先把地基打对:Python 解释器与 PATH 环境变量是后续一切的前提
2.1 下载安装:官方安装包与 Windows Store 版的关键区别
很多人装 Python 是从 vscode 的插件推荐链接里跳转过去的,也可能在 Windows 应用商店里点了一个「Python 3.12」。这两个渠道都能装,但前者是 python.org 的官方安装包,后者是 Store 版,两者有一个致命的路径差异:Store 版默认装在C:\Users\<用户名>\AppData\Local\Microsoft\WindowsApps下,而这个目录在 PATH 里的优先级比较靠前,经常和同名的 Store 占位符冲突,导致你在终端敲python时弹出的不是解释器而是商店购买页。
我一般建议:去 python.org 下载 Windows installer (64-bit),安装第一步务必勾选Add python.exe to PATH,然后选择Customize installation,把「Install for all users」也勾上。这样装出来的 Python 会被写进系统 PATH,最关键的是 Python 所在的安装目录会直接参与环境变量排序,基本不会被 Store 的占位符截胡。版本上,2024 年我建议锁定 3.11 或 3.12 而不是追最新的 3.13——后者的很多第三方库还在适配期,你没必要拿自己的第一个项目去当小白鼠。
2.2 环境变量:PATH 配不好的三种典型症状与处理
配置完环境变量后,最常见的翻车表现有三种:
- 打开 cmd 输入
python,弹出的是 Microsoft Store 的安装页面 - 输入
python --version提示「不是内部或外部命令」 - 刚刚装完还能跑,重启电脑后
python又消失了
前两种情况基本是安装时没勾 Add to PATH,或者安装用的是 Store 版。第三种情况通常是用户级 PATH 和系统级 PATH 的写入顺序问题,或者安装时选了「仅当前用户」。无论哪种,手动补环境变量的路径是绕不开的:在 Windows 搜索「编辑系统环境变量」,在「系统变量」的 Path 里新增三个条目——Python 安装根目录、根目录下的Scripts子目录、以及python.exe所在的路径。补完之后新开一个终端窗口验证:
python --version where python pip --versionwhere python会列出所有被 PATH 命中的 python.exe 路径。正常情况下只应该出现你的安装路径,如果出现WindowsApps里的路径,说明 PATH 排序有问题,把它挪到底部或者直接删掉。这套验证在 macOS 和 Linux 上对应的命令是which python3,逻辑一样。
2.3 VSCode 本体与 Python 扩展:顺序很重要
接着装 VSCode 本体。从 vscode 官网下载 system installer(系统安装包),安装时勾选「添加到右键菜单」和「添加到 PATH」两个附加选项,后者能让你在任意目录直接敲code .打开项目。这一步很关键,因为后面所有关于工作区的配置都依赖这个命令行入口。
打开 VSCode 后,先装两个基础扩展,顺序有讲究:
- Chinese (Simplified) Language Pack:VSCode 汉化包,开发者通常不装,但对刚入门的人来说,全英文界面本来就是一道隐形的屏障。装完右下角会提示重启。
- Python(扩展全名就叫 Python,微软官方出品):这个扩展不是单独一个语言服务,而是一个整合包,自带调试器、测试发现、虚拟环境识别和 Python 语言服务(Pylance 会作为推荐组件一并装)。
装扩展除了在侧边栏搜,也可以在快启面板(Ctrl+Shift+P)里输入ext install ms-python.python。命令行装的好处是以后装机可以写进自动化脚本,配合code --list-extensions也能把当前机器的扩展清单备份出来。
3. 扩展选型:哪些插件真正影响开发效率,哪些是 2024 年该卸载的
3.1 核心扩展:Python 扩展背后其实有三层服务
装完 Python 扩展后,F1 打开一个 .py 文件,你会发现 VSCode 自动开始做三件事:语法高亮、智能感知(代码补全)、错误提示。这三件事分别由不同的服务完成。语法高亮是 TextMate 语法做的,智能感知是 Pylance 这个大功臣,错误提示则来自语言服务内嵌的静态检查。很多用户装了 Python 扩展后又单独装 Pylance,其实没必要——新版 Python 扩展会自动拉起 Pylance,你只需要在设置里确认python.analysis.autoImportCompletions是开启的,这样跨文件的类名、函数名才会在输入时自动补全。
这个整合包还内置了一个很重要的能力:解释器自动发现。当你在 VSCode 里打开一个项目文件夹,Python 扩展会自动扫描系统里装过的 Python、conda 环境和项目下的.venv目录,然后在状态栏右下角显示当前使用的解释器。判断配没配对,就看左下角状态栏——点击它,弹出的下拉列表里会列出所有可用解释器。
3.2 格式化与静态检查:Black、autopep8、Ruff、Pylint 怎么选
这是扩展选型里最容易让人纠结的地方。我的建议是 2024 年统一用Ruff,理由很直接:它把格式化、lint、import 排序一把梭,速度又是 TypeScript 级别。传统组合是 Pylint 做 lint + Black 做格式化,但这两个工具各有各的性格,配置文件一堆,Pylint 误报率高,Black 的配置项又少得可怜。Ruff 用起来是爽利的:一个ruff check搞定 lint,一个ruff format搞定格式化。
在 settings.json 里按下述配置即可:
{ "python.linting.enabled": true, "python.linting.ruffEnabled": true, "python.formatting.provider": "ruff", "[python]": { "editor.defaultFormatter": "charliermarsh.ruff", "editor.formatOnSave": true } }逻辑说明:python.formatting.provider是旧版 VSCode Python 扩展的格式化入口,新版改成了在[python]作用域里指定editor.defaultFormatter,指定成 Ruff 扩展的标识符charliermarsh.ruff,保存时自动格式化。editor.formatOnSave是很多人入职第一天就要开的功能,但如果你同时开了多个格式化插件,这个开关会变成一场噩梦的源头,具体坑在第 5 章再说。
对比三种常用工具:Black 的格式化是「独裁式」,规则少且不跟你商量;autopep8 只修 PEP 8 违规,保守但容易留下半格式化的代码;Ruff 是 2024 年的主流选择,规则数量千余条、速度极快、支持按行忽略。如果你维护老项目,团队还在用 Pylint,不要让 Ruff 和 Pylint 同时跑,否则修不完的冲突够你折腾一下午。
3.3 加分项:远程开发、测试与 AI 补全
配置到这里,本地开发已经够用了。如果你未来要连服务器、跑容器或者用 WSL,Remote - SSH和Dev Containers这两个扩展值得一并装。它们解决的是同一个问题:VSCode 的界面跑在本地,代码和解释器却都在远端,调试、补全、终端全套都指向远端环境。尤其是 Remote - SSH,连上远程开发机后,本地的 Python 扩展完全不生效,但你在远端打开的每一个文件夹里,解释器选择、虚拟环境、调试配置的逻辑和本地完全一致——这也是为什么前面环境变量的功夫不能省,因为远端同样需要那套地基。
还有一个很多人问的:要不要装 AI 补全类扩展?2024 年可选的挺多,我一般建议装一个带代码补全能力的就够了,不要同时开三四个。它们大多基于大模型做行级补全,和 Pylance 的静态补全不冲突,但同一段代码被反复改写时很容易让人分心,选一个用顺手的即可。
4. 从「能跑」到「可维护」:虚拟环境、工作区与调试配置三板斧
4.1 虚拟环境不是玄学:每个项目必须建独立 venv
解释器定好了,接下来要让项目彼此隔离。很多初学者会问:我明明在全局装好了 django,为什么要在项目里再建一个 venv?回答这个问题只需要想象一个场景:你同时维护一个 Django 2.2 的老项目和 Django 5.0 的新项目,全局环境里只有一套 Django,装哪个都挨骂。venv 就是给每个项目一套独立的 site-packages,互不干扰。2024 年我还见过 conda 系用户混用 venv 和 conda 环境,结果两边都找不到包,原因其实是python命令指向了 conda 的解释器,而 venv 又用python3创建——两个解释器不是同一个,虚拟环境白建。
常见做法是在项目根目录创建.venv:
cd my_project python -m venv .venv创建之后不要急着去激活,直接在 VSCode 里按Ctrl+Shift+P,输入Python: Select Interpreter,下拉列表里会出现.venv这个选项。选完之后,VSCode 会在用户级设置里把这个解释器路径记下来,并且在你新建终端时自动激活。这比你自己在终端敲source .venv/bin/activate(Linux/macOS) 或.venv\Scripts\activate(Windows) 要稳妥——因为 VSCode 的自动激活方案还负责把当前项目的运行环境、调试环境统一指向这个解释器。
4.2 工作区配置:settings.json 里值得手动落的七项设置
新版的 VSCode 会把 Python 扩展的推荐配置写进工作区下的.vscode/settings.json。手动整理一下,我的常用模板长这样:
{ "python.defaultInterpreterPath": "${workspaceFolder}/.venv/Scripts/python.exe", "python.terminal.activateEnvironment": true, "python.analysis.extraPaths": ["src", "lib"], "python.analysis.autoImportCompletions": true, "python.linting.ruffEnabled": true, "ruff.lineLength": 88, "[python]": { "editor.formatOnSave": true, "editor.codeActionsOnSave": { "source.organizeImports.ruff": "explicit" } } }逐项拆开讲:python.defaultInterpreterPath指定了当前工作区默认的解释器路径,${workspaceFolder}会自动替换成项目根目录。Windows 下 venv 的 python.exe 在.venv/Scripts/下,macOS/Linux 在.venv/bin/下,这个路径按你系统改。python.analysis.extraPaths很实用——当你的代码不按包结构组织、直接平铺在 src 目录时,Pylance 会找不到模块,在这里补路径就能恢复跳转和补全。
ruff.lineLength控制 Ruff 格式化时的最大行宽,88 是 PEP 8 的推荐值。source.organizeImports.ruff会在保存时自动排序 import,这个动作在原生 Python 扩展里是没有的,不配的话,手动按 F5 调试时各种 import 顺序不一致会让你疯掉。
4.3 launch.json:让 F5 真正成为你的调试入口
所有配置的最终目的地都是按下 F5 能进调试。新建.vscode/launch.json,最常见的三种配置如下:
{ "version": "0.2.0", "configurations": [ { "name": "Run 当前脚本", "type": "debugpy", "request": "launch", "program": "${file}", "console": "integratedTerminal" }, { "name": "Django 调试", "type": "debugpy", "request": "launch", "program": "${workspaceFolder}/manage.py", "args": ["runserver"], "django": true }, { "name": "通过模块运行", "type": "debugpy", "request": "launch", "module": "pytest", "args": ["-v"] } ] }这里的核心是理解三种request的执行逻辑。${file}表示当前打开的文件;program直接指向 python 脚本;module则走「python -m 模块名」的方式,适合 pytest、flask、uvicorn 这类以模块启动的工具。django: true是 debugpy 提供的特殊标识,它会自动关掉 Django 的自动重载,避免调试器被 reload 进程反复重启——这是一个极其隐蔽的坑,不写这行的人大概率会在断点命中后一脸困惑。
5. 避坑:2024 年配置 Python 开发环境最容易翻车的六个瞬间
5.1 终端能 import,但调试器里死活找不到模块
现象:你在终端里敲python xxx.py一切正常,但 F5 调试时 VSCode 报ModuleNotFoundError,代码里明明有那个库。原因多半是终端里用的是你手动激活的 venv 解释器,而调试器默认走launch.json里固定的 python 路径,两者指向的不是同一个解释器。解决:在 launch.json 里把python字段改成${command:python.interpreterPath},让调试器跟随状态栏当前选择的解释器,而不是写死一个路径。
5.2 保存后代码突然大改,换行全被重排
现象:开了formatOnSave之后,每次保存代码都像被格式化工具重写了一遍,git diff 被搞出一堆无关行。原因:同时装了多套格式化扩展,VSCode 不知道听谁的,于是轮番上阵。解决:在[python]作用域里把editor.defaultFormatter指定成唯一一个,并且在设置里搜索formatOnSave,确认没有别的扩展(比如 dprint)也在监听保存事件。
5.3 venv 激活后终端提示符没变,怀疑没激活
现象:在 VSCode 终端里敲source .venv/bin/activate后,终端前缀没有括号提示(正常会显示(.venv)),于是怀疑命令没生效。其实 VSCode 集成的 PowerShell 在激活时会隐藏前缀,但脚本是正确的。正确验证方式是敲python -c "import sys; print(sys.prefix)",输出的路径只要指向.venv就说明激活成功。这也顺带解释了为什么推荐用 VSCode 的「选择解释器」功能而非手动敲 activate——它连前端提示都给你做好了。
5.4 Windows 上下载的 Python 是 Store 占位符
现象:装完 Python 打开 cmd 敲python,回车后直接弹出 Windows 应用商店,或者显示python.exe是个零字节的占位文件。原因:你装的是商店版而不是官网安装包,或者安装时没勾选 Add to PATH。解决:卸载占位应用,从 python.org 官网下载正式版,安装时务必勾选 Add to PATH。装完之后用where python检查路径,确认没有指向WindowsApps目录。
5.5 新终端窗口总是自动跳到 C 盘根目录
现象:在 VSCode 里打开终端,默认路径不是当前项目;或者每次重启 VSCode,终端路径回到上一次的位置。原因:terminal.integrated.cwd被设置成了固定目录。解决:打开设置,搜索terminal.integrated.cwd,删掉自定义的路径,让它默认取${workspaceFolder}。这种事看似琐碎,但会直接导致你手动激活的 venv 路径失效。
5.6 同一台机器两个 Python 版本,Pylance 经常把类型标红
现象:项目里用了 3.12 的语法,但 Pylance 却报错,状态栏显示的解释器其实是 3.9。原因:Windows 的 py launcher 会把默认版本和具体项目版本搞混,VSCode 自动发现解释器时选错了。解决:在工作区settings.json里显式指定python.defaultInterpreterPath,并且每次切换项目后都手动通过Python: Select Interpreter确认一次,不让它「自动」。
6. 从能跑到跑顺:内置终端、测试发现与一套顺手的收尾工作流
配置走到这里,日常开发链路已经通了,但还能再往下榨三层效率。
第一层是内置终端的自动激活。当你用 VSCode 打开一个含.venv的项目,并且解释器是 VSCode 自动选择的,新建终端就会出现(.venv)前缀,直接用 pip 装的包都归到虚拟环境,不需要手动敲激活命令。这是最舒服的状态。有的同事关了python.terminal.activateEnvironment,结果把 venv 买回来供着不用,每次都用全局解释器跑,坑的就是自己。
第二层是测试发现。Python 扩展自带 Test Explorer,需要你在 settings.json 里加两行测试配置,把 pytest 或 unittest 的测试框起来。在第 4 章的 launch.json 模板里跑一次 pytest 后,VSCode 会自动在侧边栏生成一个测试列表,每个用例旁边是断点图标和播放按钮。从此修 bug 从「跑一遍看输出」变成「打断点看变量」,效率完全不是一个级别。
第三层是一个新机器的收尾 checklist——我自己的固定顺序是:装 Python(勾 Add to PATH)→ 验证python --version→ 装 VSCode(勾 System installer)→ 装 Python + 汉化 + Ruff 扩展 → 开项目建.venv→Python: Select Interpreter选.venv→ 保存 settings.json 模板 → F5 跑通 launch.json。这一套下来大约 20 分钟,之后再遇到任何新机器都不会慌。前阵子我换新电脑,40 分钟装完所有环节,落下的唯一教训是忘了装 Remote - SSH,连不上服务器还以为网络出问题,白白浪费了一个上午。经验嘛,坑就是靠一次次填出来的。希望这套流程能帮你少走一遍我走过的弯路,祝你把环境配好之后,真正把精力花在写代码这件事上。
本文还有配套的精品资源,点击获取