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

迁移至pyproject.toml/setup.cfg后,pip安装whl仅生成dist_info未装包

问题原因与解决方法

核心问题

你的项目结构和setup.cfg配置不匹配,导致setuptools无法正确识别需要打包的顶级包,进而pip安装后实际模块文件未被部署到site-packages目录。

具体问题点

  1. 项目结构不符合标准src布局:当前src目录下直接放置__init__.py和子模块,但setuptools期望的标准src布局是src/[包名]/(包名需与metadata中的our_name一致),而非直接将模块文件放在src根目录。
  2. setup.cfg缺少包发现配置:依赖setuptools自动发现功能时,src布局下必须明确指定包的查找路径,否则工具无法正确定位包位置。

解决步骤

1. 调整项目结构

将现有代码文件移动到src/our_name目录下,最终结构如下:

README.md
requirements.txt
src
  our_name
    __init__.py
    module_1
      __init__.py
      foo.py
    module_2
      __init__.py
      bar.py

2. 修改setup.cfg配置

在[options]段添加包查找和目录映射配置:

[metadata]
name = our_name
version = 0.1.1
author = me

[options]
install_requires =
    networkx >= 3.0
packages = find:
package_dir =
    = src

3. 重新构建并安装

执行以下命令重新生成wheel包并安装:

python -m build
pip install dist/our_name*.whl

验证

安装完成后,尝试导入模块确认是否正常:

import our_name
from our_name import module_1

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 12:22:54