截至2018年3月16日,PyPI.org又名Warehouse(最终)在详细说明中支持Markdown。Warehouse在2018年4月取代了旧的旧版PyPI实施。
你需要:
确保setuptools
已升级到版本38.6.0或更高版本
为long_description_content_type
您的setup()
呼叫添加一个名为的新字段,并将其设置为'text/markdown'
:
setup(
long_description="""# Markdown supported!\n\n* Cheer\n* Celebrate\n""",
long_description_content_type='text/markdown',
# ....
)
$ python setup.py sdist bdist_wheel # adjust as needed
$ twine upload dist/*
旧的旧版PyPI基础架构不会呈现Markdown,只有新的Warehouse基础架构能够呈现。遗留的基础架构现已消失(截至2018-04-30)。
目前,PyPIcmarkgfm
通过该readme_renderer
库用作markdown渲染器(readme_renderer.markdown.render(long_description)
用于生成HTML输出)。这意味着您的markdown文档将呈现与 GitHub上 完全相同的 外观;它本质上是相同的渲染器。
您可以long_description
使用twine check
命令(twine
1.12.0或更高版本)来验证您的软件包。
旧的<2018-03-16答案如下。
注意:这是一个古老的,现在已经过时的答案,自2018年3月16日起,只要您使用正确的工具即可支持Markdown,请参见上文 。
PyPI将它 不 支持降价,所以你的自述不会被渲染成HTML。
如果您需要呈现的自述文件,请坚持使用reStructuredText;在狮身人面像的介绍新结构化是一个很好的起点。
您可能希望安装该docutils
软件包,以便可以在本地测试文档;您想rst2html.py
在自述文件上运行包含的脚本,以查看产生了什么错误(如果有)。您的特定样本有太多错误:
$ bin/rst2html.py test.rst > /tmp/test.html
test.rst:7: (ERROR/3) Unexpected indentation.
test.rst:3: (WARNING/2) Inline literal start-string without end-string.
test.rst:3: (WARNING/2) Inline interpreted text or phrase reference start-string without end-string.
test.rst:11: (WARNING/2) Block quote ends without a blank line; unexpected unindent.
test.rst:11: (WARNING/2) Inline literal start-string without end-string.
test.rst:11: (WARNING/2) Inline interpreted text or phrase reference start-string without end-string.
您的代码块正在使用Github的Markdown扩展,对于reStructuredText来说,这是完全错误的。您可以使用reST代码块(可能是dodocils的PyPI版本足够新):
.. code-block:: python
@attr(section='MySection', type='functional+', module='MyModule', id=1)
def test_function(self):
"""
This is the original docstring
"""
pass
要在本地测试,您还需要安装Pygments。