You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Dev Container中Pylance无限加载,代码智能功能失效求助

Dev Container中Pylance代码智能失效及内存循环暴涨问题解决

问题现象

  • 代码智能功能(自动补全、函数跳转、变量悬停提示)完全失效,悬停时持续显示「Loading information」
  • Jupyter笔记本与普通Python文件均受影响
  • Pylance内存占用从2.5GB逐步攀升至6.5GB后骤降,同时切换端口,该循环无限重复
  • 即便工作区仅包含极简测试文件,仍持续显示「Enumeration of workspace」提示
  • 文件与笔记本可正常执行,更换Pylance版本、Docker镜像均无法解决

环境版本

  • Pylance 2025.7.1
  • VS Code 1.102.3
  • Docker 4.43.1(搭配WSL 2.5.9.0)
  • Windows 11

当前配置文件

Dockerfile

FROM pytorch/pytorch:2.7.1-cuda12.8-cudnn9-devel
RUN apt-get update && apt-get upgrade -y
RUN apt-get -y install git
RUN pip install jupyter ipykernel packaging ninja mlflow tqdm torchinfo matplotlib
RUN pip install flash-attn --no-build-isolation
RUN pip install "unsloth[cu128-torch271] @ git+https://github.com/unslothai/unsloth.git"
RUN pip install triton --extra-index-url "https://download.pytorch.org/whl/cu128"

docker-compose.yaml

services:
  pytorch:
    container_name: pytorch
    build: 
        context: .
        dockerfile: Dockerfile
    ports:
        - "8888:8888"
    environment:
        - JUPYTER_TOKEN=easy
    working_dir: /
    volumes:
        - ../:/workspace
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              capabilities: ["gpu"]
              device_ids: ["0"]
    command: sleep infinity

devcontainer.json

{
    "name": "Pytorch_devcontainer",
    "dockerComposeFile": "./docker-compose.yaml",
    "workspaceFolder": "/",
    "shutdownAction": "stopCompose",
    "service": "pytorch",
    "customizations": {
        "vscode": {
            "extensions": [
                "ms-toolsai.jupyter",
                "ms-toolsai.vscode-jupyter-cell-tags",
                "ms-toolsai.jupyter-renderers",
                "ms-toolsai.vscode-jupyter-slideshow",
                "christian-kohler.path-intellisense",
                "ms-python.vscode-pylance",
                "ms-python.python",
                "mutantdino.resourcemonitor",
                "redhat.vscode-yaml"
            ]
        }
    }
}

修复步骤

1. 缩小工作区扫描范围

当前devcontainer.json将workspaceFolder设为容器根目录/,导致Pylance扫描整个系统文件、Python依赖包目录,引发无限枚举和内存暴涨。修改为实际工作目录:

"workspaceFolder": "/workspace"

同时确保docker-compose.yaml中volumes挂载的../:/workspace对应你的项目文件位置。

2. 配置Pylance排除不必要目录

在工作区的.vscode/settings.json中添加排除规则,减少Pylance扫描负担:

{
  "python.analysis.exclude": [
    "**/__pycache__",
    "/usr/local/lib/python3.10/dist-packages/**",
    "/workspace/**/.git",
    "/workspace/**/data",
    "/workspace/**/models"
  ],
  "python.analysis.diagnosticMode": "openFilesOnly",
  "python.analysis.indexing": true
}

diagnosticMode设为openFilesOnly后,Pylance仅分析当前打开的文件,大幅降低资源占用。

3. 增加Pylance内存限制

在VS Code设置中提高Pylance的内存分配,避免因内存不足频繁重启:

{
  "python.analysis.memoryLimit": 8192
}

单位为MB,可根据自身机器配置调整(如10240对应10GB)。

4. 重建Docker容器

删除旧容器和镜像,清理缓存后重新构建,避免环境残留问题:

docker-compose down --rmi all
docker-compose build --no-cache
docker-compose up -d

5. 调整WSL资源分配

WSL默认内存限制可能不足,在Windows系统的C:\Users\<你的用户名>\.wslconfig文件中修改配置(若文件不存在则新建):

[wsl2]
memory=12GB
processors=4
swap=4GB

修改后重启WSL:wsl --shutdown,再重新启动容器。

内容的提问来源于stack exchange,提问作者I'mStuckOnLine911

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 14:14:57