如何在Python的setup.py中递归添加软件包数据?
- 论坛
- 如何在Python的setup.py中递归添加软件包数据?
6 浏览
如何在Python的setup.py中递归添加软件包数据?
我有一个新的库,其中包含了许多小数据文件的子文件夹,我想将它们作为包数据添加进去。假设我的库的结构如下:
library - foo.py - bar.py data subfolderA subfolderA1 subfolderA2 subfolderB subfolderB1 ...
我想通过setup.py
添加所有子文件夹中的所有数据,但是似乎我必须手动进入每个子文件夹(大约有100个),并添加一个__init__.py
文件。此外,setup.py
会递归地找到这些文件吗,还是我需要像下面这样在setup.py
中手动添加它们:
package_data={ 'mypackage.data.folderA': ['*'], 'mypackage.data.folderA.subfolderA1': ['*'], 'mypackage.data.folderA.subfolderA2': ['*'] },
我可以用脚本来实现这个,但是看起来很麻烦。如何在setup.py
中实现这个功能?
另外,这些文件夹的层次结构很重要,因为这是一个材料文件数据库,当我们将它们在GUI中呈现给用户时,我们希望保持文件树的完整性,所以保持这个文件结构完整对我们有利。