Python 我可以忽略setuptools MANIFEST.in中的符号链接吗?
使用python的setuptools(Python 我可以忽略setuptools MANIFEST.in中的符号链接吗?,python,symlink,software-packaging,Python,Symlink,Software Packaging,使用python的setuptools(python setup.py sdist)创建源发行版时,我使用的是一个清单。在文件中,包含以下行: recursive include mypackage 因为我想在mypackage目录中包含一些非模块文件。但是,在mypackage目录下也有一些符号链接,我不希望其目标包含在我的源发行版中。是否有办法在清单中指定“忽略符号链接” 我知道。。。我可能不应该在那里有这些符号链接。Distutils不提供任何符号链接的特殊处理。您可以查看并看到,MANI
python setup.py sdist
)创建源发行版时,我使用的是一个清单。在
文件中,包含以下行:
recursive include mypackage
因为我想在mypackage目录中包含一些非模块文件。但是,在mypackage目录下也有一些符号链接,我不希望其目标包含在我的源发行版中。是否有办法在清单中指定“忽略符号链接”
我知道。。。我可能不应该在那里有这些符号链接。Distutils不提供任何符号链接的特殊处理。您可以查看并看到,
MANIFEST.in
文件的处理是递归地使用os.listdir
进行简单的模式匹配,无需对符号链接进行任何特殊处理。也许您可以通过运行一个函数,在setup.py
开始时将MANIFEST\u模板.in
转换为MANIFEST.in
来排除它们?正在扫描包含来自的信息的符号链接。不过,如果有这样一个选项,那就太好了。据我所知,应该避免使用recursive include mypackage
来包含包中的所有内容。这会收集到许多您确实不希望包含在发行版中的内容。如果特定文件数量少且特殊,则应列出这些文件,或者按扩展名或其他文件名模式将其包括在内,例如,recursive include mypackage*.mydataformat
。如果知道符号链接,可以在清单中的recursive include
之后显式添加exclude
。在中,指令按顺序计算。您可能需要编辑此答案,以明确这表示“否”对于我最初的问题——distutils不能被告知忽略符号链接,因为在引擎盖下它不知道它们。