Python 分发包中添加额外文件的方法

顾星河
顾星河
发布时间:2026-10-13 | 5人浏览过
原创

本文介绍在制作 Python 分发包时添加额外文件的方法。通过 setuptools 的 data_files 配置项,可将配置文件等添加到指定目录。支持相对路径,兼容系统级和用户级安装。若使用 pbr 打包,需在 setup.cfg 中声明额外文件路径。

Python 分发包中添加额外文件的方法

在制作 Python 分发包时,通常需要将一些额外文件包含在包中。一个常见的应用场景是,当用户通过 pip install 命令安装 Python 包时,系统会自动在 /etc/ 等目录下生成默认配置文件。这样做的好处是,Python 安装完成后即可直接使用,同时也为用户提供了配置样例作为参考。

参考 Installing Additional Files

如果使用 setuptools 进行打包,可以在 setup.py 文件中通过  data_files 配置项来指定分发包的额外文件。其配置格式为元组:(<安装位置>, [<文件1>, <文件2>, ...])。


# setup.py
from setuptools import setup
setup(...,
  data_files=[('bitmaps', ['bm/b1.gif', 'bm/b2.gif']),
     ('config', ['cfg/data.cfg'])],
 )

在上述示例中,<安装位置> 使用了相对路径。在安装过程中,该路径会根据安装前缀(如  sys.prefix 用于系统级安装,或 site.USER_BASE 用于用户级安装)被解释为绝对路径。虽然也可以使用绝对路径,但不推荐这样做,因为这会导致与 wheel 格式的分发包不兼容。此外,文件路径也必须是相对路径,其起点是 setup.py 文件所在的目录,即项目的根目录。需要注意的是,这些文件在打包后不能被重命名。

如果使用 pbr 辅助打包,声明额外文件的方法与上述类似。需要在  setup.cfg 文件中按照如下格式进行配置:


[files]
packages =
 pbr
data_files =
 etc/pbr = etc/*
 etc/init =
  pbr.packaging.conf
  pbr.version.conf

总结

以上介绍了在 Python 分发包中添加额外文件的方法,希望对大家有所帮助。如果大家有任何疑问,欢迎留言,小编会及时回复。在此感谢大家对本站的支持!如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表