【问题标题】:MANIFEST.in is not adding data folder inside site-packagesMANIFEST.in 未在站点包中添加数据文件夹
【发布时间】:2021-09-03 20:47:58
【问题描述】:

以下是文件夹的结构

project_name
    src
        pkg
            folder1
                __init__.py
                mod1
            folder2
                __init__.py
                mod1
                data_folder
                    data.pkl
            __init__.py
    __init__.py
    MANIFEST.in
    setup.py

为了确保 data_folder 包含在包中,我写了 MANIFEST.in

include src/pkg/folder2/data_folder/*

对于 setup.py

package_dir={"": "src"},
packages=find_packages("src"),
include_package_data=True,

但是,当我检查站点包时,没有data_folder。我错过了什么?

【问题讨论】:

  • 您是否厌倦了在src/pkg/folder2/data_folder 中添加(空)__init__.py 模块?
  • @sinoroc 文件夹还是空的。

标签: python manifest setuptools python-packaging


【解决方案1】:

当使用setuptools 时,不再需要清单文件。安装工具会处理它。

相反,这必须在setup.py 文件中完成。

from setuptools import setup
setup(
.
.
package_data={"pkg":["folder2/data_folder/*.pkl"]},
include_package_data=True,
.
.
)

另外,data_folder 及其子文件夹中不需要__init__.py。这已经为我解决了这个问题。

【讨论】:

    猜你喜欢
    • 2018-08-10
    • 2020-05-01
    • 2018-08-15
    • 1970-01-01
    • 2022-07-27
    • 1970-01-01
    • 2023-01-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多