我想为我的Python包创建一个bdist。
该软件包包含一个LICENSE
文件,作为分发的一部分是强制性的。
我在LICENSE
文件中添加了对MANIFEST.IN
文件的引用,实际上在为我的包创建了一个sdist后,LICENSE
文件就在那里。
然而,似乎当我为我的包(python setup.py bdist_wheel
)构建一个Python轮时,LICENSE
文件无处可见。
我熟悉setup {py package_data
和data_files
的概念 - 但它们似乎与我的用例无关:
package_data
要求LICENSE
文件位于Python包中,但我需要将此文件放在项目的顶级文件夹中,而不是Python包。
data_files
要求我在安装后映射文件的目标目录,但它不是相对于项目的包,而是相对于python安装 - 我发现它非常奇怪,因为它可能依赖于操作系统/平台,无论是否使用virtualenv
等,
据我所知,在一天结束时,软件包安装在site-packages
下,安装后没有“顶级文件”的空间。尽管如此,我正在寻找一种方法将LICENSE
文件作为wheel
的一部分,即使以后在安装过程中没有将其复制到任何特定位置。
答案 0 :(得分:0)
您可以使用数据文件的相对路径:
package_data={"package": ["../LICENSE", …]},