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

PyPi包可pip安装但无法导入,site-packages仅含dist-info问题排查

问题排查:PyPI包安装后无法import,仅存在dist-info文件夹

问题现象

通过pip install example_package能成功安装,但执行import example_package时触发ModuleNotFoundError;查看site-packages目录,仅存在example_package.dist-info文件夹,无实际包代码文件。

配置问题分析

你的配置存在两个核心问题:

  1. pyproject.toml的[project]配置缺失包声明:当前pyproject.toml中[project]字段没有指定要打包的包路径,setuptools无法识别需要包含的实际代码目录。
  2. setup.cfg与pyproject.toml配置重复冲突:两个文件都声明了包的元数据(名称、版本等),在setuptools的新配置规范下,[project]字段优先级更高,导致setup.cfg中packages = find:的配置未生效。

解决方法

方法一:完善pyproject.toml的[project]配置

在pyproject.toml的[project]区块中添加包声明,让setuptools自动发现或指定包:

[project]
# 保留原有配置,新增以下内容
packages = ["example_package"]
# 或者用自动发现(适用于多包结构)
# packages = { find = {} }

方法二:移除pyproject.toml的[project]部分,优先使用setup.cfg

如果更倾向用setup.cfg管理配置,可删除pyproject.toml中除[build-system]外的所有内容,只保留:

[build-system]
requires      = ["setuptools", "wheel"]
build-backend = "setuptools.build_meta"

这样setuptools会读取setup.cfg中的packages = find:配置,自动识别包含__init__.py的example_package目录。

额外检查

确保项目目录结构正确,示例结构如下:

your_project/
├── example_package/
│   └── __init__.py
├── setup.cfg
├── pyproject.toml
└── README.md

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 00:10:45