在python setup.py sdist中包含空目录

8 投票
1 回答
3361 浏览
提问于 2025-04-15 21:36

我有一个Python包,我想把一个空文件夹也包含在源代码分发里。我试着在

include empty_directory

这个文件里添加了一些内容,但当我运行

python setup.py sdist

的时候,那个空文件夹还是没有被包含进来。有没有什么建议可以解决这个问题?

1 个回答

14

根据文档的说明:

  • include pat1 pat2 - 包含所有符合列出模式的文件
  • exclude pat1 pat2 - 排除所有符合列出模式的文件
  • recursive-include dir pat1 pat2 - 包含目录下所有符合列出模式的文件
  • recursive-exclude dir pat1 pat2 - 排除目录下所有符合列出模式的文件
  • global-include pat1 pat2 - 在整个源代码树中包含所有符合列出模式的文件
  • global-exclude pat1 pat2 - 在整个源代码树中排除所有符合列出模式的文件
  • prune dir - 排除目录下的所有文件
  • graft dir - 包含目录下的所有文件

所以看起来你需要用的是graft,而不是include。另外,似乎你不能直接包含空目录。你需要在目录里创建一个"empty.txt"这样的文件,才能强制将这个目录包含进来。

撰写回答