如何使用python二进制发行版传送数据文件?

时间:2017-05-30 13:48:03

标签: python packaging python-wheel data-files

我想为我的Python包创建一个bdist。 该软件包包含一个LICENSE文件,作为分发的一部分是强制性的。

我在LICENSE文件中添加了对MANIFEST.IN文件的引用,实际上在为我的包创建了一个sdist后,LICENSE文件就在那里。

然而,似乎当我为我的包(python setup.py bdist_wheel)构建一个Python轮时,LICENSE文件无处可见。

我熟悉setup {py package_datadata_files的概念 - 但它们似乎与我的用例无关: package_data要求LICENSE文件位于Python包中,但我需要将此文件放在项目的顶级文件夹中,而不是Python包。 data_files要求我在安装后映射文件的目标目录,但它不是相对于项目的包,而是相对于python安装 - 我发现它非常奇怪,因为它可能依赖于操作系统/平台,无论是否使用virtualenv等,

据我所知,在一天结束时,软件包安装在site-packages下,安装后没有“顶级文件”的空间。尽管如此,我正在寻找一种方法将LICENSE文件作为wheel的一部分,即使以后在安装过程中没有将其复制到任何特定位置。

1 个答案:

答案 0 :(得分:0)

您可以使用数据文件的相对路径:

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