我最近在.egg-info/PKG-INFO
:Description-Content-Type
中发现了一个新的元数据。
当我运行时:
python setup.py egg_info
我得到:
Description-Content-Type: UNKNOWN
例如,我如何判断我使用Markdown(text/markdown
)?
元数据字段Description-Content-Type
在setuptools v36.4中引入(2017年9月)。它在Core Metadata v2.1中提供。
您可以在setup.py
中使用此元数据来指定包Description的内容类型。
经典用法是用项目的README文件填充long_description
。然后,可以使用long_description_content_type
参数来设置内容类型。
项目的详细描述显示在PyPi(Python包索引)中。您可以阅读PyPA的文章:"将README包含在包的元数据中"。
这里有一个例子:
import io
from setuptools import setup
def read(filename):
with io.open(filename, mode="r", encoding='utf-8') as fd:
return fd.read()
setup(
name="YourProject",
version='1.2.3',
description="One line description of your project",
long_description=read("README.rst"),
long_description_content_type='text/x-rst',
...
)
您可以选择其中一种内容类型:
"text/plain"
:对于简单文本(例如:"README"或"README.txt")"text/x-rst"
:对于reStructuredText(例如:"README.rst"),或"text/markdown"
:用于Markdown(例如:"README.md")
注意:Markdown的支持是最近的(您需要setuptools>=38.6)。
此外,您可以使用麻线检查包裹的详细描述(一旦构建了可分发包)。例如:
twine check dist/*