为什么我有描述内容类型:未知



我最近在.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/*

最新更新