8

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

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

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

我熟悉 setup.py 的package_dataand概念data_files- 但它们似乎与我的用例无关: package_data要求LICENSE文件位于 Python 包中,但我需要将此文件放在顶级文件夹中项目,它不是 Python 包。 data_files要求我在安装后映射文件的目标目录,但不是让它相对于项目的包,而是相对于 python 安装——我觉得这很奇怪,因为它可能取决于操作系统/平台,是否virtualenv使用等。

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

4

1 回答 1

0

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

package_data={"package": ["../LICENSE", …]},
于 2017-08-01T15:16:08.037 回答