Я посмотрю на сообщение об ошибке, как вы предлагаете.

две версии моего маленького инструмента:

https://pypi.python.org/pypi/tbzuploader/2017.11.0https://pypi.python.org/pypi/tbzuploader/2017.12.0 Ошибка: страница Pypi выглядит некрасиво.

В последнем обновлении изменение в README.rst вызывает предупреждение:

[email protected]> 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, bumpversion, загрузить в pypi:https://github.com/guettli/github-travis-bumpversion-pypi

Как я могу гарантировать, что больше не будет выпущен сломанный README.rst? Другими словами, я хочу избежать того, чтобы страница pypi выглядела ужасно.

Уважаемые любители мелочей! Пожалуйста, не смотрите на конкретную ошибку в файле README.rst. Это не вопрос :-)

Ответы на вопрос(3)

преамбула

У меня был readme, который не рендерится на PyPi, кроме первого элемента на странице (изображение). Я проверил файл по нескольким валидаторам и проверил его по другим рендерам. Это отлично работало везде! Итак, после долгой и неприятной борьбы с ним и многочисленных ударов версий, чтобы я мог протестировать ревизию PyPi, я попытался сократить файл до минимума, из которого я бы собрал его обратно. Оказалось, чтопервая строка всегда обрабатывалась, а потом ничего не было...

Решение

Обнаружив эту подсказку относительно первой строки, я получил прозрение ... Все, что мне нужно было сделать, этоизменить окончания строк в файле! Я редактировал файл в Windows, причем окончание строк в Windows неявно привязывалось. Я изменил это на стиль Unix и (пиф!) PyPi полностью отобразил документ!

Рант ...

Я сталкивался с такими вещами в прошлом, но я считал само собой разумеющимся, что PyPi будет решать кросс-платформенные проблемы, как это. Я имею в виду, что одной из ключевых особенностей Python является кроссплатформенность! Я первый человек, работающий в Windows, который столкнулся с этим ?! Я не ценю часы времени, которые это потрачено впустую.

 guettli11 янв. 2019 г., 15:09
Сделалreadme_renderer Помогите?
 guettli11 янв. 2019 г., 15:10
Пожалуйста, расскажите об этом разработчикам pypi.
 BuvinJ11 янв. 2019 г., 15:14
Я еще не видел этот пост, и у меня не былоreadme_renderer установлен. Я установлю это сейчас, когда я видел это. Я попробовал проверить настройку. Я также попробовал проверить шпагат (это то, что текущее состояние документов PyPi использовать в качестве валидатора). Я также использовал rst2html5. К тому же, на GitHub он прекрасно отображается ...
 BuvinJ11 янв. 2019 г., 15:14
Я посмотрю на сообщение об ошибке, как вы предлагаете.
Решение Вопроса

Загрузка вашего проекта в PyPI:

Чаевые: Парсер reStructuredText, используемый в PyPI,не Сфинкс! Кроме того, чтобы обеспечить безопасность всех пользователей, определенные виды URL-адресов и директив запрещены или удалены (например,.. raw:: Директива).До пытаясь загрузить свой дистрибутив, вы должны проверить, представлены ли ваши краткие / длинные описания вsetup.py действительны. Вы можете сделать это, следуя инструкциям дляpypa / readme_renderer орудие труда.

И из этого инструмента README.rst:

Чтобы проверить ваше длинное описание локально, просто установите библиотеку readme_renderer, используя:

$ pip install readme_renderer
$ python setup.py check -r -s
 guettli16 окт. 2017 г., 10:46
Теперь у меня есть инструмент для этого. Мой следующий шаг - как это назвать. До сих пор я видел два пути: использовать подпроцесс или использовать его как библиотеку. Может быть, есть третий путь. Я не уверен, что лучше.
 guettli12 окт. 2017 г., 09:43
Отлично. Да ты прав. Readme_renderer имеет авторитетный ответ, если REAME является действительным или нет. Спасибо!
 Steve Piercy19 окт. 2017 г., 03:18
@ guettli ты задаешь отдельный вопрос? Если это так, пожалуйста, создайте его. В противном случае, примите этот ответ, если он действительно решил вашу проблему.

rstcheck ловит тип ошибки в вашем файле readme. Если это так, запустите его после pytest в разделе сценариев. (и добавьте его в ваши требования ofc).

Ваш ответ на вопрос