当使用Python的setuptools的(python setup.py sdist
)创建一个源代码分发,我使用的是MANIFEST.in
文件,其中包含行:忽略setuptools MANIFEST.in中的符号链接?
recursive-include mypackage
,因为我想包括mypackage的目录内的一些非模块文件。但是,mypackage目录下也有一些符号链接,它们的目标我不希望包含在我的源代码发行版中。有没有办法在MANIFEST.in
内指定“忽略符号链接”?
我知道......我可能不应该有那些符号链接。
也许你可以通过在'setup.py'开头运行一个'MANIFEST_template.in'到'MANIFEST.in'的函数来排除它们?扫描与[本文](http://stackoverflow.com/questions/17889368/if-path-is-symlink-to-otherother-path)信息的符号链接。不过,如果有这样的选择会很好。 – greschd
据我所知,使用'recursive-include mypackage'来避免你的包中包含所有东西。这可以挑选出你真正不想包含在你的发行版中的很多东西。您应该列出特定的文件,如果它们很少且特殊,或者通过扩展或其他文件名称模式包括它们,例如, '递归 - 包含mypackage * .mydataformat'。 – taleinat
如果您知道符号链接,您可以在'MANIFEST.in'中的'recursive-include'之后显式地添加'exclude's - 按顺序对指令进行评估。 – fpbhb