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

Claude Desktop MCP连接Home Assistant遇pywin32-311.data锁定错误求助

解决Win10 Claude Desktop连接Home Assistant(Docker树莓派)时的pywin32文件占用错误

问题核心

Win10环境下Claude Desktop连接树莓派Docker部署的Home Assistant时,触发MCP服务器连接失败,错误根源为:

无法删除目录C:\Users\USERNAME\AppData\Local\uv\cache\builds-v0\.tmpE7rqrS\Lib\site-packages\pywin32-311.data:进程无法访问文件,因为它正被另一个进程占用。(os error 32)

配置文件已正确填写HA内网URL和令牌,重启Claude后触发连接错误,日志重复出现pywin32安装失败、文件锁定问题,常规清理缓存、杀进程、重启等操作无效。

解决方案

1. 精准定位并释放文件占用

  • 使用Sysinternals的Handle.exe工具定位占用目标文件的进程:
    打开管理员命令提示符,执行:
    handle.exe C:\Users\USERNAME\AppData\Local\uv\cache\builds-v0\.tmpE7rqrS\Lib\site-packages\pywin32-311.data
    
    根据输出找到对应进程ID(PID),执行强制终止命令:
    taskkill /F /PID [目标PID]
    
  • 若无法定位具体进程,批量终止所有关联进程:
    taskkill /F /IM python.exe /IM pythonw.exe /IM uv.exe
    

2. 手动安装ha-mcp并指定固定路径

  • 跳过Claude自动安装流程,手动用uv将ha-mcp安装到自定义可控目录:
    uv install ha-mcp --prefix C:\ha-mcp
    
  • 修改Claude配置文件,直接指定ha-mcp的完整执行路径,避免临时目录锁定:
    {
      "mcpServers": {
        "home-assistant": {
          "command": "C:\\ha-mcp\\Scripts\\ha-mcp.exe",
          "env": {
            "HA_URL": "https://192.168.xx.XXX:8123",
            "HA_TOKEN": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
          }
        }
      },
      "preferences": {
        "coworkScheduledTasksEnabled": true,
        "ccdScheduledTasksEnabled": true,
        "sidebarMode": "task",
        "coworkWebSearchEnabled": true
      }
    }
    
  • 保存配置后重启Claude,重新尝试连接。

3. 强制修改uv缓存目录

  • 在Claude配置中添加环境变量,将uv缓存指向一个全新的、无权限冲突的目录:
    {
      "mcpServers": {
        "home-assistant": {
          "command": "uvx",
          "args": [
            "ha-mcp"
          ],
          "env": {
            "HA_URL": "https://192.168.xx.XXX:8123",
            "HA_TOKEN": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
            "UV_CACHE_DIR": "C:\\Temp\\uv-cache"
          }
        }
      },
      "preferences": {
        "coworkScheduledTasksEnabled": true,
        "ccdScheduledTasksEnabled": true,
        "sidebarMode": "task",
        "coworkWebSearchEnabled": true
      }
    }
    
  • 手动创建C:\Temp\uv-cache目录,确保当前用户拥有完全读写权限,重启Claude后尝试连接。

4. 排查权限与环境冲突

  • 确认当前用户对C:\Users\USERNAME\AppData\Local\uv目录拥有完全控制权限:
    右键目录 → 属性 → 安全 → 编辑 → 添加当前用户 → 勾选「完全控制」。
  • 若系统中安装了Anaconda、PyCharm等Python相关环境,暂时移除系统环境变量中的Python路径,避免与uv的独立Python环境冲突。

5. 重置Claude配置

  • 备份当前配置文件后,删除Claude的配置目录:
    rmdir /S /Q C:\Users\USERNAME\.claude
    
  • 重新启动Claude,从头配置Home Assistant连接信息,排除旧配置残留问题。

内容的提问来源于stack exchange,提问作者Digital Essence

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.01 13:10:01