如何防止 Poetry 考虑 .gitignore

how to prevent Poetry to consider .gitignore

我正在开发一个 python 项目,该项目使用 pythonnet 和多个 C# dll 作为依赖项。 因为我不想将 dll 推送到 git 存储库,所以我修改了 .gitignore 文件。但是,现在 Poetry 没有将 dll 包含到 python 包中。

有没有办法强制 Poetry 忽略 .gitignore?

是的,.gitignore 只是作为 poetrys inclusion/exclusion 列表的默认设置。您可以使用 include 字段手动配置它,记录在 here.

在你的情况下,你只需要指定你在 gitignore 中排除的 dll 文件夹:

.gitignore

# ...
src/dlls

pyproject.toml

[tool.poetry]
# ...
include = ["src/dlls/*"]

只是为了扩展,对于结构更深的目录,使用*/**从Git忽略的目录中递归添加内容。

pyproject.toml

[tool.poetry]
# other configuration here
include = ["src/extra/*/**"]

令人惊讶的是 none 以上答案对我有用。我还有一个更深层次的结构,我希望文件不出现在存储库中,而是递归地包含在 building/publishing 中。以下通配模式对我有用:

.gitignore

my_folder/

pyproject.toml

[tool.poetry]
...
include = ["**/my_folder/**/*.py"]