如何确保README.rst有效?

时间:2017-10-11 07:54:54

标签: python continuous-integration travis-ci restructuredtext

我的小工具有两个版本:

在上次更新中,README.rst中的更改发出警告:

user@host> rst2html.py README.rst  > /tmp/foo.html
README.rst:18: (WARNING/2) Inline emphasis start-string without end-string.
README.rst:18: (WARNING/2) Inline emphasis start-string without end-string.

现在pypi页面看起来很难看: - (

我使用此配方进行CI,颠倒,上传到pypi:https://github.com/guettli/github-travis-bumpversion-pypi

我怎样才能确保不再发布破坏的README.rst?换句话说,我想避免pypi页面看起来很难看。

亲爱的细节爱好者:请不要查看README.rst中当前的特定错误。这不是问题: - )

3 个答案:

答案 0 :(得分:11)

来自官方Python打包文档,Uploading your Project to PyPI

  

提示: PyPI上使用的reStructuredText解析器 Sphinx!此外,为了确保所有用户的安全,禁止或删除某些类型的URL和指令(例如,.. raw::指令)。 尝试上传您的发布之前,您应该检查setup.py中提供的简短描述是否有效。您可以按照pypa/readme_renderer工具的说明执行此操作。

从该工具的README.rst:

  

要在本地检查您的长描述,只需使用以下命令安装readme_renderer库:

$ pip install readme_renderer
$ python setup.py check -r -s

答案 1 :(得分:1)

您可以尝试rstcheck捕获自述文件中的错误类型。如果是,请在脚本部分中的pytest之后运行它。 (并将其添加到您的要求中)。

答案 2 :(得分:1)

序言

我有一个自述文件,除了页面上的第一个元素(图像)以外,它不会在PyPi上呈现。我针对多个验证程序运行了文件,并针对其他渲染器进行了测试。在其他地方也都很好!因此,经过漫长而烦人的战斗,以及无数次版本颠簸,因此我可以测试PyPi修订版,我尝试将文件减少到最低限度,然后从中进行备份。原来,第一行总是被处理,然后没有其他内容 ...

解决方案

发现有关第一行的线索后,我突然顿悟了……我要做的就是更改文件中的行尾!我正在Windows中编辑文件,而Windows行尾隐含地添加到文件中。我将其更改为Unix风格,(糟糕!)PyPi完全渲染了该文档!

Rant ...

过去我曾遇到过这样的事情,但是我认为PyPi会处理这样的跨平台问题是理所当然的。我的意思是Python的关键功能之一就是跨平台!我是第一个在Windows中工作的人吗?我不感激这种浪费的时间。