麻线:警告:缺少`long_description_content_type`

twine: warning: `long_description_content_type` missing

这是我的 setup.py 的样子:

from distutils.core import setup

setup(
    author='...',
    description='...',
    download_url='...',
    license='...',
    long_description=open('README.md', 'r').read(),
    long_description_content_type='text/markdown',
    name='...',
    packages=['...'],
    url='...',
    version='...'
)

然后,我可以 运行 python setup.py sdist 没有任何错误。但是,如果我用麻线 (twine check dist/*) 检查包裹,我会收到以下警告:

 `long_description` has syntax errors in markup and would not be rendered on PyPI.
  warning: `long_description_content_type` missing. defaulting to `text/x-rst`.

我所有的包都是最新的,我没有重复或多行属性。是什么原因造成的,我该如何解决?

这是因为您正在使用 distutils.core 提供的设置功能。使用 setuptools 代替:

from setuptools import setup

distutils.core 不希望提供 long_description_content_type,并且似乎忽略了它。当你 运行 setup.py:

时,它实际上是这样说的
UserWarning: Unknown distribution option: 'long_description_content_type'

尽管这很容易被遗漏,因为它位于一长串 error-free 日志的顶部。