【问题标题】:How to ship data files with a python binary distribution?如何使用 python 二进制分发发送数据文件?
【发布时间】:2017-10-31 00:56:50
【问题描述】:

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

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

但是,当我为我的包 (python setup.py bdist_wheel) 构建 Python 轮时,似乎看不到 LICENSE 文件。

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

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

【问题讨论】:

    标签: python packaging python-wheel data-files


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2016-07-10
      • 2016-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-02
      • 2016-06-07
      • 2012-02-15
      相关资源
      最近更新 更多