微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 setuptools 构建轮子时包含数据文件

如何解决使用 setuptools 构建轮子时包含数据文件

我正在尝试使用 setuptools 创建一个包含资源(数据文件)的 whl 包。我想使用 importlib.resources 访问数据文件,因此它们最终应位于源根目录下的包中。

我的项目结构如下:

project/
   source/        
      edp/           <-- packages root
          core/          <-- normal source code packages
          fileio/
          cliapp/
          config/        <-- data files I want to access
          (etc)

我应该如何编写我的 setup.py 文件才能得到想要的结果?我已经尝试了 setuptools-docsdistutil-docs 中解释的三种方法

  • 使用 include_package_data=True
  • 使用 data_file=[('edp/config',setuptools.findall("config"))]
  • 使用 package_data={"edp.config": ["source/edp/config/*"]}
  • 上述的各种组合

在每种情况下,结果都完全相同:安装后的 config 文件夹 (lib/site-packages/edp/config) 始终为空。

我使用以下步骤测试了每种方法

  1. 正在运行 python setup.py bdist_wheel -p win_amd64
  2. 使用 python -m venv
  3. 创建和激活新的测试环境
  4. 使用 pip install 在测试环境中安装轮子

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。