是否可以配置setup.py以便递归包含包数据?
例如,是否有相同的内容:
setup(...,
packages=['mypkg'],
package_data={'mypkg': ['data/*.dat']},
)
只是指定了文件夹(可能还有一些额外的选项)?
setup(...,
packages=['mypkg'],
package_data={'mypkg': ['data']},
)
示例取自:
https://docs.python.org/2/distutils/setupscript.html#installing-package-data
答案 0 :(得分:3)
使用外壳程序:
setup(
...,
packages=['mypkg'],
package_data={'mypkg': ['data/*.dat', 'data/**/*.dat']},
)
data/*.dat
将包括所有.dat
文件,这些文件直接放置在data
中,但不放置在子目录中。 data/**/*.dat
将包括放置在.dat
的任何子目录中的所有data
文件(因此它将包括data/spam/file.dat
和data/spam/eggs/other.dat
等),但不包括直接放置在.dat
中的所有data
文件。因此,两个球都是互斥的;这就是为什么如果要在.dat
下包含任何data
文件,则总是需要提供两个glob。