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

Python项目打包上传TestPyPI后安装成功但导入报错ModuleNotFoundError如何解决

问题原因

你打包生成的安装包仅包含了包元数据,没有将实际的Python代码文件打包进去,本质是打包配置文件的包包含规则配置错误,和你安装、上传的操作无关。

常见错误点及修复方案
  • 首先确认项目目录结构合规
    你存放setup.cfg的目录下,要么直接有oomstore代码文件夹(内部包含__init__.py和你的业务代码),要么明确指定代码存放的父目录。如果你是把代码放在sdk/python子目录下,没有额外配置的话,打包工具默认不会去子目录查找代码。

  • 修正setup.cfg的包查找配置
    在setup.cfg中添加如下配置段,指定自动查找需要打包的包:

    [options]
    packages = find:
    
    [options.packages.find]
    # 如果代码存放在当前目录下,就写where = .
    # 如果代码存放在sdk/python目录下,就写如下配置
    where = sdk/python
    

    如果你不想用自动查找,也可以手动列全所有需要打包的包:

    [options]
    packages =
        oomstore
        oomstore.utils
        # 其他子包依次列出
    
  • 打包前本地验证,避免无效上传
    每次修改配置后,先执行python -m build命令生成本地安装包,再执行unzip -l dist/oomstore-xxx-py3-none-any.whl查看包内文件列表,确认列表中存在oomstore/__init__.py等你的业务代码文件后,再上传到PyPI/TestPyPI。

  • 补充检查点
    确认你的代码目录下所有需要打包的子文件夹都存在__init__.py文件(Python 3.3+虽然支持命名空间包不需要该文件,但传统打包工具的自动查找逻辑默认还是依赖该文件识别包目录)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 13:06:07