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

如何让Poetry打包未纳入Git版本控制的.py文件?

解决Poetry打包未受Git控制的生成.py文件问题

默认情况下,Poetry会参考Git的追踪规则,被.gitignore排除且未被Git添加追踪的文件不会被纳入打包范围。针对你这种自动生成、无需Git版本控制但需要打包的场景,有两种直接有效的解决方式:

方法一:在pyproject.toml中指定include列表

直接在pyproject.toml的[tool.poetry]区块下添加include字段,明确列出需要打包的生成文件路径,Poetry会忽略Git规则强制包含这些文件:

[tool.poetry]
name = "your-package-name"
version = "0.1.0"
# 其他原有配置...
include = [
    "src/your_package/generated_file1.py",
    "src/your_package/generated_file2.py",
    # 也可以用通配符匹配同类型生成文件
    "src/your_package/generated_*.py"
]

方法二:通过packages配置细化包含规则

如果生成文件属于某个子包,也可以在[tool.poetry.packages]中单独指定包含规则,适合需要按包结构管理的场景:

[tool.poetry.packages]
include = [
    # 原有包的包含规则
    { include = "your_package", from = "src" },
    # 添加生成文件的包含规则
    { include = "your_package/generated_*.py", from = "src" }
]

额外注意

  • 确保生成脚本在poetry build命令执行前已经运行完毕,保证目标文件已存在;
  • 不要为了打包而将生成文件移出.gitignore,避免不必要的版本追踪混乱。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 17:02:04