2010-01-25 9 views
7

za pakiet kopalni, Mam plik README.rst który jest wczytywany do setup.py za długi opis tak:Jak mogę uczynić ten long_description i README różnić się o kilka zdań?

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

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

ten sposób, że mogę mieć plik README pokazać się na moim github page każdy czas, który popełniłem i na pypi page za każdym razem I python setup.py register. Jest tylko jeden problem. Chciałbym, aby strona github mówiła coś w stylu "Ten dokument odzwierciedla wersję przedpremierową envbuildera. Dla najnowszej wersji zobacz pypi."

Mogę po prostu umieścić te wiersze w pliku README.rst i usunąć je przed I python setup.py register, ale wiem, że nadejdzie czas, że zapomnę usunąć zdania, zanim popchnę do pypi.

Próbuję wymyślić najlepszy sposób zautomatyzowania tego, więc nie muszę się o to martwić. Ktoś ma jakieś pomysły? Czy mogę zrobić magię setuptools/distutils?

Odpowiedz

8

Możesz po prostu użyć komentarza ReST z tekstem typu "podziel tutaj", a następnie podzielić go na plik setup.py. Ian Bicking robi to w virtualenv z index.txt i setup.py.

+0

To okazało się tym, co zrobiłem. Dzięki! –

2

Zawsze można to zrobić:

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, 
    .... 
    ) 

Ale wtedy trzeba by zachować tę GITHUB_ALERT ciąg zsynchronizowane z rzeczywistą treścią README. Zamiast tego użyj wyrażenia regularnego (np. Dopasuj linię zaczynającą się od Uwaga dla użytkowników Github: lub coś podobnego) może dać ci trochę więcej elastyczności.

+0

Nie myślałem o zrobieniu tego w ten sposób. Wypróbuję to. –

5

Inną opcją jest całkowite wyeliminowanie problemu przez dodanie akapitu działającego w obu środowiskach: "Najnowszy niestabilny kod znajduje się na github. Najnowsze stabilne zestawy są na pypi."

Po tym wszystkim, dlaczego założyć, że ludzie pypi nie chcą być wskazani na github? Byłoby to bardziej przydatne dla obu odbiorców i upraszcza konfigurację.

+0

Istnieją instrukcje dotyczące instalowania obu wersji. Nie chodzi o to, że ludzie pypi nie chcą wskazywać na github, ponieważ chodzi o kogoś, kto robi "łatwego do zainstalowania envbuilder", a następnie przyglądają się dokumentacji na github (która jest przeznaczona dla wersji rozwojowej) i zastanawiają się, dlaczego to nie działa. To powiedziawszy, przypuszczam, że ja * mogę * być bardziej klarownym na temat tego, gdzie są stabilne i niestabilne wersje. –

Powiązane problemy