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

VS Code调试Python项目遇PackageNotFoundError问题求助

问题:VS Code调试Python项目时触发PackageNotFoundError

项目调试配置(launch.json)

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: myproject",
            "type": "python",
            "request": "launch",
            "program": "E:\\<path>\\__main__.py",
            "cwd": "${workspaceFolder}",
            "env": {"PYTHONPATH": "${cwd}" },
            "args": [
                "publish",
                "--config=E:\\<path>\\config.yaml"
            ],

        }
    ]
}

报错信息

Exception has occurred: PackageNotFoundError No package metadata was found for myproject
importlib.metadata.PackageNotFoundError: No package metadata was found for myproject

已尝试操作

  • 执行pip install importlib.metadata,无效果

报错相关代码片段

import atexit, copy, getopt, importlib.metadata, json, logging, os, re, signal, shutil, sys, textwrap, time, urllib

. . .
return importlib.metadata.version(package)

解决方法

1. 将项目以开发模式安装到当前环境

importlib.metadata.version(__package__)依赖Python包的元数据,需要项目被识别为已安装的包:

  • 检查项目根目录是否存在setup.py或pyproject.toml,若没有,创建基础的setup.py:
from setuptools import setup, find_packages

setup(
    name="myproject",
    version="0.1.0",
    packages=find_packages(),
)
  • 在项目根目录执行命令:
pip install -e .

(开发模式安装后,代码修改无需重新安装,包元数据会被正确识别)

2. 临时修改版本检测代码(应急方案)

如果仅需临时调试,可绕过元数据检测:
将报错代码中的版本获取行替换为固定版本字符串:

# 替换原return语句
return "0.1.0"

3. 验证PYTHONPATH与工作目录配置

  • 确认launch.json中的${workspaceFolder}指向项目根目录(包含myproject包文件夹的上级目录)
  • 若路径存在问题,可将PYTHONPATH改为具体路径,例如:
"env": {"PYTHONPATH": "E:\\<path>\\项目根目录"}

4. 确保解释器环境匹配

从使用的解释器来看是虚拟环境,需确认已在该虚拟环境中执行了步骤1的安装命令,避免环境不匹配导致包元数据无法被读取。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 11:25:30