我有一些包含xml文件的fixture目录,我想在使用bdist_rpm构建RPM时包含在我的python项目中.我认为我可以通过让MANIFEST.in执行递归包含* *来实现这一点,但是,除了* .py文件之外,它不包含任何其他内容.反正有没有bdist_rpm包含非python文件包或具体包括* .xml文件?
解决方法:
你想在哪里安装它们?如果你把它们放在一个包目录中,就像这样……
myproject/
mypackage/
__init__.py
resources/
file1.xml
file2.xml
…您可以在setup.py文件中使用package_data选项,如下所示:
from setuptools import setup, find_packages
setup(
name='myproject',
version='0.1',
description='A description.',
packages=find_packages(),
include_package_data=True,
package_data = { '': [ '*.xml' ] },
install_requires=[],
)
这将递归地包含任何包内的任何* .xml文件.它们将与Python库路径中的其他部分安装在一起.您可以使用MANIFEST.in执行相同的操作,如下所示:
recursive-include * *.xml
如果您尝试将它们安装到Python库之外的特定文件系统位置,我不确定您是否可以通过setup.py来实现.