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

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

本文介绍在制作 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 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。