Как я могу заставить это long_description и README отличаться парой предложений? - PullRequest
7 голосов
/ 25 января 2010

Для моего пакета у меня есть файл README.rst, который читается в подробном описании setup.py, например:

readme = open('README.rst', 'r')
README_TEXT = readme.read()
readme.close()

setup(
    ...
    long_description = README_TEXT,
    ....
    )

Таким образом, я могу отображать файл README на моей странице github каждый раз, когда я фиксирую, и на pypi странице каждый раз, когда я python setup.py register. Есть только одна проблема. Мне бы хотелось, чтобы на странице github было что-то вроде: «Этот документ отражает предварительную версию envbuilder. Самую последнюю версию см. В pypi.»

Я мог бы просто поместить эти строки в README.rst и удалить их раньше, чем я python setup.py register, но я знаю, что будет время, когда я забуду удалить предложения, прежде чем нажать на pypi.

Я пытаюсь придумать лучший способ автоматизировать это, чтобы мне не пришлось об этом беспокоиться. У кого-нибудь есть идеи? Могу ли я использовать магию setuptools / distutils?

Ответы [ 3 ]

8 голосов
/ 26 января 2010

Вы можете просто использовать комментарий ReST с таким текстом, как «split here», а затем разделить его в своем файле setup.py. Ян Бикинг делает это в virtualenv с index.txt и setup.py .

5 голосов
/ 26 января 2010

Другой вариант - полностью обойти проблему, добавив параграф, который работает в обеих средах: «Последний нестабильный код на github. Последние стабильные комплекты на pypi».

В конце концов, почему вы предполагаете, что люди-пипи не хотят, чтобы их указывали на github? Это будет более полезным для обеих аудиторий и упростит ваш setup.py.

2 голосов
/ 25 января 2010

Вы всегда можете сделать это:

GITHUB_ALERT = 'This document reflects a pre-release version...'
readme = open('README.rst', 'r')
README_TEXT = readme.read().replace(GITHUB_ALERT, '')
readme.close()

setup(
    ...
    long_description = README_TEXT,
    ....
    )

Но тогда вам нужно будет синхронизировать эту строку GITHUB_ALERT с фактической формулировкой README. Вместо этого использование регулярного выражения (например, для сопоставления строки, начинающейся с Примечание для пользователей Github: или что-то еще) может дать вам немного больше гибкости.

...