
写这篇指南之前我先说句实话搞 Python 开发这几年我见过太多新手把时间浪费在环境问题上——装好的包在另一个项目里用不了、跑别人的代码直接报 ModuleNotFoundError、换个电脑整个项目直接废掉。这些问题十有八九都跟虚拟环境没用好有关系。VS Code 作为目前最主流的代码编辑器内置的终端、Python 扩展、调试器这些能力跟虚拟环境搭配起来确实能省掉大量心智负担。但这玩意儿也有不少细节坑比如环境创建好了 VS Code 不显示、conda 环境切不过去、激活命令敲了没反应这些我在实际项目里都踩过。这篇从创建到管理、再到排查把我在 VS Code 里折腾虚拟环境的经验完整梳理一遍按步骤直接抄就行。1. 环境隔离的核心逻辑先弄明白虚拟环境到底在隔离什么1.1 为什么你的项目需要虚拟环境很多刚从教程里学完 Python 基础的同学习惯直接用全局 Python 装包。一开始项目少没感觉等手里攒了三五个项目问题就来了。A 项目要用 Django 3.xB 项目用的组件库只兼容 Django 4.x你要是全局装装完 A 再装 BA 直接跑不起来。更麻烦的是系统自带的 Python 如果你顺手装了一堆乱七八糟的包哪天某个库升级把系统脚本依赖的版本覆盖了连操作系统的工具都可能被搞挂。虚拟环境干的事说穿了就是给每个项目单独划一个隔离房间。每个房间里有自己独立的 Python 解释器路径、独立的 site-packages 目录。你在 A 房间里装的包不会出现在 B 房间里。这样 A 项目用 Django 3.x、B 项目用 Django 4.x两者互不干扰各跑各的。用个生活化的类比就像你在一个小区里租了两套房子每套房子的家具水电独立管理这套房子漏水不影响另一套。1.2 VS Code 在虚拟环境工作流里扮演的角色VS Code 本身不创建虚拟环境它更像是一个环境管家。真正创建虚拟环境的是 Python 自带的 venv 模块或者 Anaconda 的 conda 命令。VS Code 做的事情是当你打开一个项目文件夹时它自动扫描系统里可用的 Python 解释器把虚拟环境里的 python.exeWindows或 bin/pythonLinux/macOS识别出来然后给这个项目绑定解释器。绑定的意思就是你按 F5 调试、右键运行 Python 文件、打开 Jupyter Notebook全部都用这个虚拟环境里的解释器而不是全局的。这个绑定关系存在项目根目录的.vscode/settings.json里配置项叫python.defaultInterpreterPath。搞懂这个机制后面所有VS Code 切换不了虚拟环境的问题追根溯源都是这个绑定关系没弄对。2. 开工前准备VS Code、Python 解释器与 Anaconda 的安装要点2.1 安装 VS Code 与 Python 扩展VS Code 官网直接下载对应系统的安装包就行装的时候有一个容易被忽略的选项添加到 PATH。Windows 用户在安装向导里找到将通过 Code 打开操作添加到目录上下文菜单、将code命令添加到 PATH这两个选项尽量勾上。如果没勾后面在终端里敲code .直接打开项目目录的功能就会失效切目录都得用鼠标点效率差一截。装完 VS Code第一件事是装 Python 扩展。打开扩展面板左侧四个方块图标搜索Python认准发布者是 Microsoft 的那个作者名是 ms-python。这个扩展负责提供代码补全、语法检查、调试器、解释器选择等功能。另外我还习惯顺手装一个 Pylance它是 Microsoft 出的 Python 语言服务器类型提示和补全体验比默认的 Jedi 好不少它可以和 Python 扩展协同工作。装完扩展之后重启一下 VS Code让它加载扩展模块。这个时候打开任意一个.py文件右下角状态栏会显示当前使用的 Python 解释器版本比如 Python 3.11.8 64-bit说明扩展已经正常工作了。2.2 安装 Python 和 Anaconda 的注意事项如果只是写轻量脚本和中小型 Web 项目装官网的 Python 就够了。官网 python.org 下载安装的时候务必勾选Add Python to PATH。不勾这个复选框后面python和pip命令在终端里直接找不到这是新手最常踩的第一个坑。装完验证一下python --version pip --version两个命令都能正常输出版本号说明基础环境没问题。如果要做数据分析、机器学习或者需要同时管理多个 Python 版本比如有的项目要 Python 3.8有的要 3.11直接上 Anaconda 更省心。Anaconda 自带 conda 包管理器可以用一条命令创建带任意 Python 版本的独立环境。注意 Anaconda 安装包比较大几百 MB装的时候有个Add Anaconda to my PATH environment variable的选项。我的建议分情况如果你确定平时主要用 conda 管理环境就把它加到 PATH如果你只是偶尔用 conda平时还是用官方 Python那就不加改从 Anaconda Prompt 进入避免和系统里已有的 Python 冲突。2.3 确认基础环境没问题的小技巧我习惯在装完工具后打开 VS Code 内置终端快捷键Ctrl执行where pythonWindows或which pythonLinux/macOS看当前终端里默认 Python 是哪个路径。这一步看起来多余但很多环境问题的根源就是终端里用的 Python 和 VS Code 里用的 Python 不是同一个。先把这个确认清楚后面所有我这个包明明装了却 import 不到的玄学问题都能排除一半。3. venv 与 conda 的创建实操两条主流路线的详细对比3.1 用 venv 创建轻量独立环境venv 是 Python 3.3 之后内置的模块用来创建虚拟环境不需要额外安装任何东西。这是 Python 官方推荐的方案也是我日常写 Django、FastAPI 这类 Web 项目时最常用的。创建命令很简单# 在项目根目录执行 python -m venv .venv注意我建议环境目录名统一用.venv不要用venv或者env。原因有几个以点开头的目录在文件资源管理器里默认隐藏不会让你的项目根目录看起来乱糟糟的另外.venv这个名称被很多工具比如 pre-commit 的钩子、Docker 的 .gitignore 模板默认忽略可以避免误提交到版本控制里。创建完之后Windows 下激活命令是.\.venv\Scripts\activateLinux/macOS 下是source .venv/bin/activate激活成功后终端命令行前面会出现(.venv)前缀比如(.venv) PS C:\projects\myapp。看到这个就说明当前终端里的 Python 和 pip 都已经指向虚拟环境了。3.2 用 conda 创建独立环境conda 创建环境的命令比 venv 看起来重一些但它有一个核心优势可以指定 Python 版本。比如你项目必须跑在 Python 3.8 上但系统里装的是 3.11用 venv 就得先去官网下载 3.8 再单独装一次。用 conda 就一条命令conda create -n py38 python3.8-n py38给环境起个名字python3.8让 conda 自动帮你下载对应版本的 Python 解释器。创建完成后激活conda activate py38查看当前机器上有哪些 conda 环境conda env list这个命令输出的结果里第一列是环境名第二列是环境所在路径。知道这个路径特别重要因为后面在 VS Code 里手动选择解释器的时候你得靠这个路径找到对应的 python.exe。3.3 venv 和 conda 怎么选很多人纠结这个问题其实判断标准很直接。如果你日常就是写 Web、爬虫、自动化脚本包里没那么多二进制依赖用 venv 就够了它轻、快、干净、跟项目走删项目目录环境就没了不占用全局空间。如果你的项目涉及 NumPy、Pandas、SciPy、PyTorch 这些科学计算库或者你经常需要给不同的项目配不同版本的 Python那 conda 更合适。conda 的依赖解析器能处理复杂的二进制包冲突这是 pip 处理不了的。而且 conda 创建的环境不要求跟项目目录绑定它是统一放在 Anaconda 安装目录的envs文件夹下面的。这个特性有个好处环境可以跨项目复用。但坏处也很明显环境本身不跟着项目走时间久了环境越攒越多自己都分不清哪个是哪个。所以我认真的建议用 conda 的话环境名尽量起得能看出用途比如django-blog、ml-tensorflow别用test1、test2这种名字。4. 在 VS Code 里激活并绑定虚拟环境的完整实操4.1 方法一通过命令面板选择解释器这是最推荐的方式因为 VS Code 会自动扫描系统里的 venv 和 conda 环境列在解释器列表里。操作步骤用 VS Code 打开你的项目根目录文件-打开文件夹。按CtrlShiftP打开命令面板。输入Python: Select Interpreter回车。弹出的列表里会显示 VS Code 检测到的所有解释器包括系统自带的 Python、venv 创建的环境、conda 创建的环境等。解释器名称后面通常带路径根据路径能判断是哪个环境。选中你要用的那个VS Code 右下角状态栏就会显示对应的解释器名称。同时项目根目录下会自动生成.vscode/settings.json里面写入了解释器配置{ python.defaultInterpreterPath: .venv/bin/python }4.2 方法二在终端里手动激活环境有的场景命令面板里找不到你要的环境那就先手动激活再告诉 VS Code 跟着终端走。在 VS Code 内置终端里先激活环境# 如果是 venv .\.venv\Scripts\activate # 如果是 conda 环境 conda activate your_env_name激活之后VS Code 的 Python 扩展一般会自动检测到当前终端已经激活的虚拟环境自动切换解释器。如果没自动切再次打开命令面板选解释器这次列表里通常会出现一个带有已激活或类似标识的选项选它就行。这里我提醒一下VS Code 内置终端默认用的是 PowerShellWindows。PowerShell 的安全策略有时候会禁止执行激活脚本报错信息类似因为在此系统上禁止运行脚本。解决办法是管理员身份打开 PowerShell执行Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser执行一次之后当前用户就能运行脚本了这个是 Windows 上最常见的 venv 激活失败原因。4.3 在 VS Code 里直接创建 conda 新环境并绑定命令面板里其实还可以直接创建 conda 环境。按CtrlShiftP输入Python: Create Environment回车。这时候 VS Code 会自动检测如果系统里有 conda会给你两个选项用 venv 创建还是用 conda 创建。选 conda 之后它会让你挑一个 Python 版本然后自动执行创建命令创建完直接绑定到当前项目。这个方式的好处是不用自己跑到终端里敲命令、再回 VS Code 里切解释器一条龙搞定。适合刚入门、对命令行还不熟的朋友。4.4 怎么确认 VS Code 已经用上了虚拟环境判断标准不是看终端里有没有(.venv)前缀而是看状态栏。打开项目里的任意一个.py文件看 VS Code 窗口底部的蓝色状态栏上面显示的 Python 版本和路径。如果显示Python 3.11.8 (.venv: venv)或者包含环境名的形式说明已经绑定成功。还有一个更直接的验证方法在终端激活了环境之后运行python -c import sys; print(sys.executable)输出的路径如果包含.venv或者envs\your_env_name说明当前终端用的确实是你创建的环境。如果你在 VS Code 的运行 Python 文件按钮下运行代码它的解释器是 settings.json 里绑定那个而不是终端里当前激活的那个。这是很多新手犯迷糊的地方——终端激活的是一个环境VS Code 运行项目用的是另一个环境。两个环境装的包不一样表现就是终端里 import 正常一按运行按钮就报 ModuleNotFoundError。5. 环境切换、路径管理与清理环境用久了必须掌握的三件事5.1 在多个环境之间切换的注意事项项目越做越多VS Code 里同时打开多个项目窗口每个窗口绑定不同的虚拟环境。切换环境本身不复杂命令面板里重新选一次解释器就行。但有几个坑我踩过一个坑是 Windows 上终端被缓存了环境变量。有时候你切换了解释器但打开的旧终端还停留在之前激活的环境里。这是正常的环境激活状态是终端会话级别的不会因为你换了 VS Code 的解释器就自动改变。解决办法是打开新终端或者重新运行 activate 命令。另一个坑是路径中的空格。如果你把项目放在带空格的路径下比如C:\Users\Zhang San\my project终端激活 venv 的时候报错。这时候要么把路径用引号包起来要么直接把项目放在无空格的目录下。这个虽然不是 VS Code 的锅但因为它默认打开工作区目录所以特别容易触发。我现在新项目一律放在D:\projects\下面不搞花里胡哨的目录名。5.2 查看和修改虚拟环境路径venv 环境的路径就在你创建目录里到.venv\pyvenv.cfg文件里可以看配置里面有个home字段记录了创建环境时用的 Python 解释器路径。conda 环境的路径统一放在 Anaconda 安装目录下的envs目录。想知道某个环境的具体路径用前面说过的conda env list。排查问题时我经常要确认 VS Code 里选的项目解释器和终端里sys.executable的路径是否一致。路径不一致后面所有环境对不上的问题都从这里来。如果你想把 conda 环境移到其他磁盘位置直接在envs目录下把文件夹拷过去是不行的。conda 环境里有大量绝对路径引用直接搬家会导致环境失效。正确方式是用conda env export导出配置在另一台机器上重新创建。5.3 删除环境跟清理残骸删除环境是很多人不敢碰的操作。其实逻辑很简单# 删除 venv 环境直接删掉目录 rm -rf .venv # 删除 conda 环境 conda deactivate # 先退出这个环境 conda env remove -n env_name删除之后VS Code 的命令面板解释器列表里可能会残留旧环境记录。这是 VS Code 的缓存不会影响使用但看着碍眼。处理方法按CtrlShiftP输入Python: Clear Cache and Reload Window重新加载窗口即可。清理之后还有个隐患如果settings.json里还写着已删除的环境路径按 F5 调试会报找不到解释器的错。所以删完环境之后顺手把.vscode/settings.json里的python.defaultInterpreterPath清掉或者改成一个有效路径。5.4 虚拟环境的迁移问题环境迁移是看着简单做起来一堆坑的典型。不能直接把.venv文件夹复制到另一台电脑因为里面包含大量绝对路径、Windows 下还有注册表级别的调用。conda 环境也一样不推荐整个文件夹拷走。正确做法是在旧机器上导出依赖清单pip freeze requirements.txt如果用的是 condaconda env export environment.yml把文件提交到 Git 或者通过 U 盘带过去。在另一台机器上创建新环境然后安装依赖python -m venv .venv .\.venv\Scripts\activate pip install -r requirements.txtconda 方式conda env create -f environment.yml按我做了多次迁移的经验pip freeze导出的清单往往包含一些无关紧要的间接依赖这会增加装包的失败率。更精确的做法是用pipreqs工具它可以根据你项目里实际的 import 语句生成依赖清单pip install pipreqs pipreqs ./ --encodingutf8 --force生成的 requirements.txt 干净很多只包含项目真正 import 的包。6. 虚拟环境里的依赖管理与进阶扩展玩法6.1 安装与导出依赖的规范操作进入虚拟环境之后安装包的姿势要养成肌肉记忆先激活环境再 pip install一定不要开着全局 Python 直接 pip install。如何在 VS Code 的终端里安装我通常这样操作# 确保虚拟环境已激活 .\.venv\Scripts\activate # 安装包 pip install requests # 同时安装多个包 pip install requests flask pandas matplotlib # 指定版本安装 pip install django4.2.7安装完不要关终端先验证一下pip list # 查看当前环境所有已安装的包这里有个问题值得注意如果终端激活了虚拟环境但pip list显示的包特别多和全局环境一样说明这个 pip 根本没有指向虚拟环境大概率是激活失败或者 PATH 设置有问题。这时候执行where pip看路径对不对。另外我建议每个项目都维护一个requirements.txt并提交到 Git。新旧环境切换、协作开发时这个文件是唯一可信的依赖清单。更新时机是每次新增了关键依赖就顺手执行pip freeze requirements.txt6.2 把全局已经安装的包装进虚拟环境这个需求很常见全局环境里已经装了一批包现在给项目建了个干净的虚拟环境不想重新从网上下载安装了怎么直接复用如果只是个别包最简单的办法是直接导出全局环境的包列表然后到虚拟环境里装# 在全局环境导出 pip freeze all_packages.txt # 激活虚拟环境后安装 .\.venv\Scripts\activate pip install -r all_packages.txt这样虽然是从网上下载但因为你已经装了缓存pip 会优先用本地缓存速度很快。如果你不想经过网上下载这个过程可以直接从全局环境的 site-packages 里拷贝包到虚拟环境对应目录但我不推荐因为这样很容易把一些依赖关系搞乱编译过的二进制文件还可能不兼容。常规实践是在虚拟环境里装的时候让 pip 利用全局缓存即可。执行pip install requests时 pip 默认会使用缓存目录只要缓存在就不需要重新从官方下载下载速度几乎可以忽略。6.3 把 Anaconda 创建的虚拟环境关联到 Jupyter数据分析项目经常会遇到这个问题你辛辛苦苦用 conda 创建了环境安装了一堆数据分析包但在 Jupyter Notebook 里 import 的时候却全是 ModuleNotFoundError。原因很简单——Jupyter 不认识你新创建的 conda 环境它默认用的还是 base 环境或者默认的 ipykernel。解决办法是把你的环境注册进 Jupyter 的内核列表。在 VS Code 终端里激活目标环境后执行conda activate my_data_env python -m ipykernel install --user --namemy_data_env --display-name Python (my_data_env)然后回到 VS Code打开.ipynb文件右上角选择内核Kernel在弹出的列表里选刚才注册的名字。如果没看到点一下就刷新或者重启 VS Code。如果你用的是 venv 虚拟环境同样需要装 ipykernel 之后注册内核.\.venv\Scripts\activate pip install ipykernel python -m ipykernel install --user --namemy_project_env --display-name Python (my_project_env)这里的关键点在于VS Code 在打开 .ipynb 文件时解释器选择和内核选择是两套 UI容易混淆。.py文件走选择解释器的流程.ipynb文件走选择内核的流程。你在命令面板里选的解释器主要影响.py文件内核选择才是 Notebook 真正执行的 Python 环境。两个都要选对才能保证一个项目里代码文件和 Notebook 用的是同一个环境。6.4 VS Code 对接本地大模型 Ollama 的典型配置很多人现在喜欢在 VS Code 里通过 Claude Code 这类扩展接入本地大模型。这个做法的核心在于本地模型推理服务通常跑在本地端口上VS Code 扩展通过 HTTP 请求调用接口。而环境隔离在这里扮演的角色是你的扩展如果依赖 Python它运行时的环境需要能访问到模型的 API。以 Ollama 为例Ollama 默认监听本机的 11434 端口。你在 VS Code 的终端里先确认 Ollama 服务正常ollama list curl http://localhost:11434/api/tags只要curl能返回 JSON 格式的模型列表说明服务已经就绪。之后在 VS Code 的扩展设置里配置 API 地址指向http://localhost:11434即可。这个流程跟虚拟环境本身没有强绑定关系但如果你在虚拟环境里用 Python 脚本请求 Ollama记得环境里要装requests或者openai这类 HTTP 客户端库。我碰到过的情况是全局环境里装了这些库虚拟环境里没装Python 脚本一运行就报 ImportError看起来像模型连不上其实是环境里缺依赖。配置本地大模型扩展时我建议先在一个干净的虚拟环境里测试接口连通性。比如创建一个test-ai-env装好 requests写个小脚本请求/api/tags确认返回结果再去折腾扩展的 API 配置。这样能把网络问题和环境问题分开排查省很多时间。6.5 常用扩展的环境配置方向在 VS Code 生态里Claude Code、minimax code、Neo4j 等扩展都涉及各自的环境配置。Claude Code 这类 AI 编程助手如果走的是官方 API配置重点在 API Key 和模型名如果走本地模型比如 Ollama 中转配置重点就是本地服务的 URL。要特别注意它运行时的 Node.js 环境跟 Python 虚拟环境无关。但如果你用python这类标签让它帮你跑脚本它调用的还是当前项目绑定的 Python 解释器所以环境隔离依旧重要。Neo4j for VS Code 这类数据库工具的配置核心是连接串bolt://localhost:7687不涉及 Python 虚拟环境。但如果你的项目代码脚本要通过 Neo4j 的 Python 驱动操作图数据库同样需要在你项目的虚拟环境里单独安装 neo4j 驱动并且确认与 Neo4j 服务器版本兼容。minimax code 如果作为 AI 补全插件使用它的 API 配置思路和上面类似关键是确认扩展本身的网络请求能到达服务端。虚拟环境只影响它运行 Python 脚本代码时的解释器不影响补全功能的网络层。总结一句话扩展本身的网络配置和项目的 Python 环境是两个维度先搞清楚你遇到的问题是哪个维度。排查顺序永远是先确认扩展的基础配置API Key、URL没问题再确认项目虚拟环境里装了它要调用的 Python 库。7. 高频故障排查手册VS Code 虚拟环境常见问题速查这一节直接上干货都是我实际遇到和帮别人解决过的高频问题整理成速查表形式。问题现象常见原因解决方法命令面板解释器列表里找不到刚创建的虚拟环境VS Code 扫描范围没覆盖到该路径确认环境目录在项目文件夹内点解释器列表右上角刷新按钮重启 VS Codeconda 环境在 VS Code 里不显示conda 的 environment.yml 或环境路径识别异常终端先执行conda env list确认环境存在在 VS Code 设置里指定python.condaPath重启窗口终端激活 venv 报禁止运行脚本PowerShell 执行策略限制执行Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser按 F5 调试提示找不到解释器settings.json 里写的路径已被删除重新选择解释器或手动更新python.defaultInterpreterPath终端 pip install 安装了包但 VS Code 运行代码报 ModuleNotFoundError终端激活的环境和 VS Code 绑定的解释器不是同一个在 VS Code 状态栏确认当前解释器路径统一在 VS Code 内置终端激活环境再装包VS Code 安装插件报EPERM: operation not permitted插件目录权限不足或者 VS Code 正在更新关闭 VS Code用管理员身份重新打开再装或者手动删除%USERPROFILE%\.vscode\extensions下对应残留目录Tab 键无法补全命令终端 shell 配置问题或扩展冲突检查是否处于 Python REPL 模式在设置里检查editor.tabCompletion换一个内置终端PowerShell 切 Command Prompt再试conda 环境创建后conda activate提示未初始化conda 没有正确 init shell执行conda init powershell或conda init cmd.exe重开终端VS Code 的 Jupyter Notebook import 到 conda 环境包但报错内核选择的是默认 ipykernel按 6.3 节注册内核然后在 Notebook 内核选择器里选对应环境打开项目很慢VS Code 一直在加载解释器安装了多个大型 conda 环境扩展逐个扫描在设置里关闭python.autoUpdateLanguageServer给项目单独配置解释器路径减少扫描范围7.1 conda 环境在 VS Code 里不显示的深度排查这个问题的排查思路是从 conda 本身开始。先在终端执行conda env list看看环境是否真的存在。如果终端里都看不到说明环境删了或者 conda 配置乱了直接重建。如果终端能看到但 VS Code 列表里没有最常见的情况是 VS Code 的 Python 扩展扫描依赖conda --version命令。你有可能安装的 Anaconda 没有把 conda 加入 PATH导致 Python 扩展找不到 conda 可执行文件。解决办法是在 VS Code 的用户设置里手动指定{ python.condaPath: C:\\Users\\你的用户名\\anaconda3\\Scripts\\conda.exe }Windows 上 conda.exe 实际的位置在 Anaconda 安装目录的Scripts文件夹下不是根目录很多人找错地方。设置完之后重启 VS Code再打开解释器列表conda 环境就出现了。7.2 EPERM 错误的两种常见场景EPERM: operation not permitted这个报错我在 VS Code 里主要碰到两种场景。第一种是安装插件的时候。大部分情况下是插件下载到一半VS Code 进程还在占用 extensions 目录里的文件然后你再次安装同一个插件系统禁止写入。解决办法关闭所有 VS Code 窗口以管理员身份重新打开重试安装。如果还不行到C:\Users\用户名\.vscode\extensions目录下删掉跟报错插件同名的残留文件夹再装。第二种场景是用 Python 脚本操作文件时报 EPERM这种情况很多跟权限有关。比如脚本要写入C:\Program Files下的文件普通权限不够。排查方式很简单用管理员身份运行 VS Code 试试如果问题是权限导致的管理员模式立刻解决。如果管理员模式下依旧报 EPERM就要检查是不是杀毒软件把文件的句柄锁定了。7.3 虚拟环境切不过去一个容易忽视的缓存问题切换不了虚拟环境这个问题描述得很玄学实际原因往往是旧的解释器路径被缓存了。VS Code 的 Python 扩展会把解释器列表缓存到内部即使你在文件系统层面把环境删了或移动了列表里可能还显示旧路径。如果确认路径没问题但 VS Code 始终用旧环境运行代码试试这些操作按顺序执行CtrlShiftP输入Developer: Reload Window重新加载窗口。在解释器列表里选另一个环境再切回目标环境强制刷新绑定。删掉项目根目录.vscode文件夹下的settings.json重新配置一次。执行Python: Clear Cache and Reload Window这个命令会清掉 Python 扩展的内部缓存并重载。绝大多数情况下第 1 步和第 2 步就能解决。真的解决不了的再走第 4 步清缓存。7.4 插件安装报错的补充排查方法VS Code 插件安装报错除了 EPERM还有一个常见报错是Error while installing ms-python.python extension或网络超时。这种情况多半是 VS Code 的扩展市场连接不稳定。不要反复点击安装容易造成扩展目录文件残留。正确做法是先把安装失败的扩展从 VS Code 卸载。关闭 VS Code到.vscode/extensions目录确认没有对应扩展残留。从 VS Code 官网的扩展市场网页端下载.vsix文件用菜单里的从 VSIX 安装来手动安装。8. 实操总结与个人经验在 VS Code 里用虚拟环境这件事本质上就是三个环节的配合创建、绑定、管理。创建环节的关键是选对工具——轻量项目用 venv科学计算用 conda绑定环节的核心是理解 VS Code 的解释器选择机制别让终端里的环境和编辑器运行环境分家管理环节则需要把依赖清单、删除清理、迁移这些基本功练熟让每个项目都是独立、可复现的。我给新人的建议是从第一天写项目开始就用虚拟环境别嫌麻烦。哪怕就是一个人写个小脚本也值得建一个.venv。这样你的每个项目目录从创建那一刻起就是独立的后面遇到任何依赖问题都能确切断言这个项目就在这个环境里排查范围瞬间小一大半。最后分享一个我自己的经验我习惯在项目根目录放一个.env.example文件里面写清楚激活命令和常用依赖安装命令。这样隔了一个月再看这个项目或者交给同事接手照着文件执行五分钟之内就能把环境复现出来。这个习惯比任何花哨的工具都实用。