python package_data 对比 data_files 对比 extra_files

python package_data vs data_files vs extra_files

python 的设置工具提供了三种将 非 python 文件添加到包中的方法:

This guidepackage_datadata_files 的描述非常中肯,但没有提到 extra_files.

extra_files有什么用?或者它只是一个已弃用的遗留选项?

区别:

package_data - 定义与 python 包相关的文件。例如。文档、静态图像文件、配置。

data_files - 定义将按系统方式安装的文件,而不是在站点包目录中。例如。桌面图标、字体。

第二个用法示例:

from setuptools import setup

setup(
    data_files= [
        ("/usr/share/applications", ["my_package/my_application.desktop"]),
    ]
)

对于目录,您可以使用相对路径或绝对路径(谨慎使用)。

对于文件,它是 setup.py 位置的相对路径。