简介这份资源面向刚接触或希望系统梳理 Python 开发环境的程序员与在校学生聚焦在 VScode 中完成 Python 环境搭建这一常见痛点帮助读者从零配置出可调试、可补全、可运行脚本的完整开发工作流。压缩包共 152 个文件约 3.54MB以 tmpl 模板文件为主辅以 ts 脚本、gif 动图演示、json 配置、md 说明文档及 png 截图另含 py、js、cpp、rs、php、rb 等多语言示例文件便于对照不同场景验证环境是否生效。资源还包含 cfg、yml、xml、ini、conf 等配置文件与 makefile、bat、sh 脚本覆盖跨平台配置细节。目前已有 1396 人学习下载说明其内容具备一定参考价值。读者可从中获得环境搭建的完整素材、配置项说明与排错思路目录结构清晰适合按模块查阅快速定位插件安装、解释器选择与调试配置等关键环节减少自行摸索的时间成本。1. 装完就报错先看清 VSCode Python 这套环境的版本底牌很多人以为在 VSCode 里写 Python 就是装个编辑器、再装个 Python 解释器两下点完就能跑。我见过太多人卡在第一步VSCode 装好了Python 也装了新建一个.py文件点右上角运行终端弹出一行ModuleNotFoundError或者更玄学的——代码里import的包明明在命令行里能跑到了 VSCode 里就找不到。这不是编辑器坏了是环境没对齐。VSCode 本身不绑定任何 Python 版本它靠的是「解释器选择 扩展 终端环境」三件套任何一环错位都会让你觉得「这工具怎么这么难用」。这套环境适合所有在本地写 Python 的人新手拿来跑第一个脚本熟手拿来管多版本、多虚拟环境。装不好轻则补全失效重则调试器断点打不上白白耗掉一整天。2. 装之前先把版本和依赖定死Python、VSCode、扩展三者的兼容线2.1 Python 版本怎么选3.10 还是 3.12Python 的版本选择直接决定后面扩展能不能正常加载。截至 2024 年VSCode 的 Python 扩展对 3.8 以下的支持已经逐步收窄3.12 是当前稳定线3.10 和 3.11 是兼容性最舒服的区间。我一般会这样定新项目、没有历史包袱直接上 Python 3.12.x语法新、性能好主流库基本都跟上了。要跑一些老框架或公司内部包退到 3.10.x避免distutils被移除后某些包直接装不上。绝对不要用 3.7 及以下很多扩展的调试适配器已经不再适配。安装时有一个必须勾的选项Windows 上安装向导第一页底部的Add python.exe to PATH。不勾后面 VSCode 终端里敲python会直接跳微软商店这是新手翻车率最高的一步。# 验证 Python 是否进了 PATH以及具体版本 python --version # 如果上面报错试 py 启动器Windows 专属 py --version # macOS / Linux 一般用 python3 python3 --version逻辑说明python --version走的是系统 PATH 里的解释器VSCode 集成终端默认继承系统 PATH所以这一步过了VSCode 里大概率也能找到。py是 Windows 的版本启动器装了多个版本时用它切换更稳。2.2 VSCode 版本与必装扩展清单VSCode 本身保持最新稳定版即可2024 年的版本对远程开发、Jupyter 的支持都成熟了。真正要盯的是扩展装多了会互相抢解释器装少了功能残缺。我固定装这几个扩展名作用是否必装Python (ms-python.python)解释器选择、运行、调试、补全必装Pylance (ms-python.vscode-pylance)类型检查、智能补全核心必装Black Formatter保存时自动格式化选装Jupyter跑 .ipynb 和交互式单元格按需安装方式统一走扩展面板搜索或者命令行# 用 code 命令批量装扩展适合换机后快速恢复 code --install-extension ms-python.python code --install-extension ms-python.vscode-pylance code --install-extension ms-python.black-formatter参数说明code命令需要在 VSCode 里执行一次「Shell Command: Install code command in PATH」才可用。批量装的好处是版本可控不会因为面板里点错装到同名山寨扩展。2.3 虚拟环境为什么我坚持每个项目一个 venv不建虚拟环境所有包都往全局 site-packages 里塞迟早出现 A 项目要requests2.28、B 项目要requests2.31的打架局面。VSCode 对 venv 的支持很顺关键是建完之后要手动指认解释器。# 在项目根目录建虚拟环境 python -m venv .venv # Windows 激活 .venv\Scripts\activate # macOS / Linux 激活 source .venv/bin/activate # 激活后升级 pip 并装依赖 python -m pip install --upgrade pip逻辑说明python -m venv .venv会在当前目录生成一个隔离环境.venv是约定俗成的名字VSCode 能自动识别。激活只是让当前终端临时指向这个环境VSCode 还需要在设置里把解释器切过去这一步在下一章展开。3. 一步步装到位解释器、终端、调试器三处对齐3.1 选择解释器别让 VSCode 猜VSCode 打开一个文件夹后右下角或命令面板里会让你选解释器。很多人忽略这一步结果 VSCode 用了系统全局 Python而终端里激活的是 venv两边包不一致补全和运行结果对不上。操作路径CtrlShiftPmacOS 是CmdShiftP打开命令面板输入Python: Select Interpreter在列表里选带.venv路径的那一项。// .vscode/settings.json 里可以固化解释器路径团队协作时尤其有用 { python.defaultInterpreterPath: ${workspaceFolder}/.venv/bin/python, python.terminal.activateEnvironment: true }参数说明python.defaultInterpreterPath在 Windows 下要写成${workspaceFolder}\\.venv\\Scripts\\python.exe。python.terminal.activateEnvironment设为 true 后新开终端会自动激活虚拟环境省去手动 source 的步骤。这个文件建议提交到仓库换机器不用重新选。3.2 配置 settings.json补全、格式化、lint 一次写清VSCode 的 Python 体验八成靠settings.json。我一般分两层写用户级放通用偏好工作区级放项目相关。工作区级就是项目根目录下的.vscode/settings.json。{ python.analysis.typeCheckingMode: basic, python.analysis.autoImportCompletions: true, editor.formatOnSave: true, python.formatting.provider: black, [python]: { editor.defaultFormatter: ms-python.black-formatter, editor.codeActionsOnSave: { source.organizeImports: explicit } } }逻辑说明typeCheckingMode设为basic能在不干扰编码的前提下提示明显类型错误设strict会满屏波浪线新手容易崩溃。autoImportCompletions让 Pylance 自动补import语句省手写。formatOnSave配合 Black保存即格式化团队里能省掉大量格式争论。source.organizeImports设为explicit是 2024 年新版 VSCode 的要求旧版写true会提示弃用。3.3 调试配置launch.json 里最容易写错的两个字段按 F5 调试时VSCode 会找.vscode/launch.json。没有这个文件它会用默认配置跑当前文件但一旦涉及参数、环境变量、工作目录就必须自己写。{ version: 0.2.0, configurations: [ { name: Python: 当前文件, type: debugpy, request: launch, program: ${file}, console: integratedTerminal, cwd: ${workspaceFolder}, env: { PYTHONPATH: ${workspaceFolder} } } ] }参数说明type在 2024 年新版 Python 扩展里已经统一为debugpy老教程里的python会提示迁移。console设为integratedTerminal而不是internalConsole因为后者不支持input()输入一跑就卡死。cwd设成工作区根目录避免相对路径读文件时找不到。PYTHONPATH加上项目根解决「包在子目录里 import 不到」的经典问题。3.4 终端与包管理pip 和 conda 别混用VSCode 集成终端默认用系统 shellWindows 上是 PowerShell。这里有个高频坑PowerShell 的执行策略可能拦住 venv 的激活脚本。# 如果激活时报「无法加载文件因为在此系统上禁止运行脚本」 Set-ExecutionPolicy -Scope CurrentUser RemoteSigned # 然后重新激活 .venv\Scripts\activate逻辑说明RemoteSigned允许本地脚本运行、远程脚本需签名是开发机的常见折中。改完只对当前用户生效不用管理员权限。另外pip 和 conda 不要在同一环境里交替装包conda 装的包 pip 不一定认反之亦然混用后依赖树会乱排查起来很痛苦。我一般一个项目只用一种。4. 避坑与排查装完跑不起来时先查这五处4.1 现象终端里能 importVSCode 里报 ModuleNotFoundError原因VSCode 选中的解释器和终端激活的环境不是同一个。终端激活了 venv但 VSCode 的解释器还停在全局 Python。解决CtrlShiftP执行Python: Select Interpreter确认选中的路径和终端里which pythonWindows 是where python输出一致。改完重启一下 VSCode 窗口让语言服务器重新加载。4.2 现象Pylance 一直转圈补全不出来原因项目太大、或者python.analysis.extraPaths没配Pylance 索引不到自定义包也可能是扩展版本和 VSCode 版本不匹配。解决先在输出面板选 Pylance 看日志。如果是路径问题在 settings.json 里加{ python.analysis.extraPaths: [./src, ./lib] }然后命令面板执行Developer: Reload Window。如果是版本问题把 Python 扩展和 Pylance 都更到最新两者通常同步发版。4.3 现象调试时断点变成空心圈提示「未绑定」原因launch.json里的program路径不对或者justMyCode把断点所在文件排除了。解决确认program指向的是实际入口文件不是目录。如果断点在第三方库里把justMyCode设为false。空心圈还可能是代码没保存VSCode 调试的是磁盘上的旧文件养成CtrlS再按 F5 的习惯。4.4 现象Windows 上python命令打开微软商店原因安装 Python 时没勾 PATH系统里只有微软商店的占位别名。解决设置 → 应用 → 高级应用设置 → 应用执行别名把python.exe和python3.exe两个别名关掉。然后重新运行 Python 安装包选 Modify确认勾上 Add to PATH。或者直接用py命令代替python。4.5 现象格式化保存后代码缩进全乱原因同时装了多个格式化扩展或者editor.defaultFormatter没指定到 Black。解决在 settings.json 里显式指定[python]段的editor.defaultFormatter为ms-python.black-formatter并禁用其他 Python 格式化扩展。Black 的缩进是强制的 4 空格不接受自定义这是它的设计取舍接受不了就换 autopep8但别两个一起开。5. 装完怎么验证跑通一个最小可复现的检查清单装完别急着写业务代码先用一个最小项目把整条链路走一遍。我自己的习惯是建一个env_check文件夹里面放三样东西.venv、main.py、.vscode/settings.json。main.py写下面这段它能一次性验证解释器、第三方包、类型补全和调试器。# main.py import sys import requests # 故意用一个需要 pip 安装的第三方包 def check(): print(解释器路径:, sys.executable) print(Python 版本:, sys.version) resp requests.get(https://httpbin.org/get, timeout5) print(请求状态码:, resp.status_code) # 下面这行设个断点按 F5 调试能停住说明 debugpy 正常 data resp.json() print(返回的 origin 字段:, data.get(origin)) if __name__ __main__: check()跑之前先在激活的 venv 里装依赖python -m pip install requests然后做四步验证终端里python main.py能打印解释器路径和状态码 200说明解释器和包没问题。VSCode 里把解释器切到同一个.venv打开main.py鼠标悬停requests能看到类型提示说明 Pylance 索引正常。在data resp.json()那行左侧点一下设断点按 F5程序停住且左侧变量面板能看到resp说明调试器绑定成功。故意把requests拼错成request保存后看是否出现黄色波浪线有则说明类型检查在工作。这四步全过环境就算真正跑通了。任何一步失败回到第 4 章对应条目排查。我见过太多人跳过验证直接写业务结果把环境问题误判成代码 bug调半天才发现是解释器选错。从那以后我每次配完新机器都强制走一遍这个清单五分钟换一天安心。希望帮到你。本文还有配套的精品资源点击获取
阅读完成 · 觉得有帮助?