【发布时间】:2013-10-18 22:03:14
【问题描述】:
使用 python 的 setuptools (python setup.py sdist) 创建源代码分发时,我使用的是包含以下行的 MANIFEST.in 文件:
recursive-include mypackage
因为我想在 mypackage 目录中包含一些非模块文件。但是,在 mypackage 目录下也有一些符号链接,我不想将其目标包含在我的源代码分发中。有没有办法在 MANIFEST.in 中指定“忽略符号链接”?
我知道...我可能不应该在那里有那些符号链接。
【问题讨论】:
-
也许您可以通过运行将
MANIFEST_template.in转换为MANIFEST.in的函数在您的setup.py开头排除它们?使用来自this post 的信息扫描符号链接。不过,如果有这样的选择就好了。 -
据我所知,应避免使用
recursive-include mypackage将所有内容包含在您的包中。这可以获取很多你真的不想包含在你的发行版中的东西。如果特定文件很少且特殊,则应列出它们,或者通过扩展名或其他文件名模式包含它们,例如recursive-include mypackage *.mydataformat. -
如果您知道符号链接,您可以在
recursive-include之后在MANIFEST.in中显式添加excludes - 指令按顺序评估。
标签: python symlink software-packaging