如何在Python二进制分发中附带数据文件?

8
我想为我的Python包创建一个bdist(二进制发布)。 该软件包包含一个必须作为发布的一部分的LICENSE文件。
我在MANIFEST.IN文件中添加了对LICENSE文件的引用,并且在为我的软件包创建sdist后,确实能看到LICENSE文件。
但是,在构建Python wheel(python setup.py bdist_wheel)时,LICENSE文件似乎无处可见。
我熟悉setup.py中package_data和data_files的概念-然而它们似乎与我的使用情况无关: package_data需要将LICENSE文件放在Python软件包内,但我必须将此文件放在项目的顶层文件夹中,而不是Python软件包中。 data_files要求我映射文件的目标目录以进行安装,但是它相对于Python安装而不是项目软件包,这让我感到非常奇怪,因为它可能取决于操作系统/平台,是否使用virtualenv等。
我理解最终软件包都被安装在site-packages下,没有空间用于“顶级文件”进行安装。即使在安装后不会复制到任何特定位置,我仍在寻找一种将LICENSE文件作为wheel的一部分的方法。
1个回答

0

您可以使用相对路径来访问数据文件:

package_data={"package": ["../LICENSE", ]},

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接