setup.py sdist 如何解引用符号链接?
how can setup.py sdist dereference symbolic links?
setup.cfg
部分 data_files
包含带有符号链接的目录。当 运行 python setup.py sdist
时,生成的分布不包含符号链接,它们将被忽略。这里是setup.py
的内容,基于pbr:
#!/usr/bin/env python
from setuptools import setup
setup(
setup_requires=['pbr'],
pbr=True,
)
取消引用符号链接并改为包含实际文件会很好。分布会更大,因为文件是重复的,但它是完整的。
查看 sdist sources 符号链接似乎总是被忽略:
$ python setup.py sdist
...
'molecule/debops' not a regular file -- skipping
...
是否有解决方法可以说服 sdist
取消对符号链接的引用?
MANIFEST.in graft command is unfortunately not in the python 3 documentation, but can be found in the sources. It calls include_pattern and findall which follows symbolic links。因此,将以下行添加到 MANIFEST.in
:
就足够了
graft molecule/
确保 molecule/
树包含在分发中,并且所有符号 link 都将被遵循。这确实导致重复内容,但结果是完整的。
符号 link 抑制的根本原因是(与 sdist
不同)pbr
遍历 data_files
without following symbolic links. It will therefore create a list of paths in the SOURCES.txt file that contain symbolic links. And they will be ignored by sdist 中提到的目录并且从不进入发行版。
setup.cfg
部分 data_files
包含带有符号链接的目录。当 运行 python setup.py sdist
时,生成的分布不包含符号链接,它们将被忽略。这里是setup.py
的内容,基于pbr:
#!/usr/bin/env python
from setuptools import setup
setup(
setup_requires=['pbr'],
pbr=True,
)
取消引用符号链接并改为包含实际文件会很好。分布会更大,因为文件是重复的,但它是完整的。
查看 sdist sources 符号链接似乎总是被忽略:
$ python setup.py sdist
...
'molecule/debops' not a regular file -- skipping
...
是否有解决方法可以说服 sdist
取消对符号链接的引用?
MANIFEST.in graft command is unfortunately not in the python 3 documentation, but can be found in the sources. It calls include_pattern and findall which follows symbolic links。因此,将以下行添加到 MANIFEST.in
:
graft molecule/
确保 molecule/
树包含在分发中,并且所有符号 link 都将被遵循。这确实导致重复内容,但结果是完整的。
符号 link 抑制的根本原因是(与 sdist
不同)pbr
遍历 data_files
without following symbolic links. It will therefore create a list of paths in the SOURCES.txt file that contain symbolic links. And they will be ignored by sdist 中提到的目录并且从不进入发行版。