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

如何用Poetry将非标准目录结构代码打包为可按包名导入的Python包?

可以实现,无需调整现有目录结构

你只需要修改pyproject.toml中的打包配置,将src/resources下的文件映射到包名pack的根目录即可,具体操作如下:

修改pyproject.toml配置

移除原有的include配置,改用packages字段指定路径映射:

[tool.poetry]
name = "pack"
packages = [
    { include = "resources", from = "src" }
]

该配置的作用是:将src目录下的resources文件夹及其所有内容,打包后放置到pack包的顶层目录。

验证效果

  1. 执行打包命令:
poetry build
  1. 本地安装测试包:
pip install dist/pack-*.whl
  1. 测试导入:
from pack import a, b
# 也可以直接导入模块内的对象
from pack.a import some_function

补充说明

  • 如果resources下存在子目录,该配置会自动递归包含所有内容,无需额外设置。
  • 建议移除原include配置,避免src目录被额外打包造成冗余。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 07:37:36