如何在pyproject.toml中通过setuptools将py.typed作为包数据添加?
在setuptools的pyproject.toml中包含py.typed文件的方法
当然可以在pyproject.toml里配置包含py.typed文件,下面是两种实用的实现方式:
方式一:直接通过package-data配置
在pyproject.toml中添加[tool.setuptools.package-data]配置块,指定要包含的py.typed文件:
- 若为单包项目,想给目标包添加该文件,可写:
[tool.setuptools.package-data] "*" = ["py.typed"]
- 若要指定具体包(比如你的包名为
my_package),则配置为:
[tool.setuptools.package-data] my_package = ["py.typed"]
方式二:结合include-package-data和MANIFEST.in
- 先在pyproject.toml里开启自动包含包数据的开关:
[tool.setuptools] include-package-data = true
- 在项目根目录创建
MANIFEST.in文件,添加一行指令(替换成你的实际包名):
include my_package/py.typed
关键注意点
py.typed文件必须放在Python包的根目录下(和__init__.py同一层级),这样静态检查工具才能正确识别并读取类型信息。
内容的提问来源于stack exchange,提问作者Bram Vanroy
相关产品推荐
相关产品推荐

