Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我可以忽略setuptools MANIFEST.in中的符号链接吗?_Python_Symlink_Software Packaging - Fatal编程技术网

Python 我可以忽略setuptools MANIFEST.in中的符号链接吗?

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的setuptools(
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不能被告知忽略符号链接,因为在引擎盖下它不知道它们。