python package_data vs data_files vs extra_files

时间:2019-11-27 13:25:14

标签: python setuptools

python的setuptools提供了三种将 non-python 文件添加到程序包的方法:

  • package_data
  • 数据文件
  • extra_files

This guidepackage_datadata_files的描述很恰当,但是没有提到extra_files

extra_files的作用是什么?还是只是不推荐使用的旧选项?

1 个答案:

答案 0 :(得分:1)

区别:

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

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

第二种用法示例:

from setuptools import setup

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

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

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