8

私のパッケージの場合、次のように setup.py の長い説明に読み込まれる README.rst ファイルがあります。

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

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

このようにして、コミットするたびにgithub ページに README ファイルを表示し、コミットするたびにpypi ページpython setup.py registerに表示することができます。1つだけ問題があります。github ページに「このドキュメントは envbuilder のプレリリース バージョンを反映しています。最新のリリースについては、pypi を参照してください。」

これらの行を README.rst に入れて、削除する前に削除することもできpython setup.py registerますが、pypi にプッシュする前に文を削除するのを忘れる場合があることはわかっています。

これを自動化する最善の方法を考えようとしているので、心配する必要はありません。誰にもアイデアはありますか?私ができる setuptools/distutils マジックはありますか?

4

3 に答える 3

9

「ここで分割」などのテキストを含む ReST コメントを使用して、setup.py で分割することができます。Ian Bicking は、 virtualenv でindex.txtsetup.pyを使用してこれを行います。

于 2010-01-26T16:41:32.573 に答える
5

別のオプションは、両方の環境で機能する段落を追加して、問題を完全に回避することです。「最新の不安定なコードは github にあります。最新の安定したキットは pypi にあります。」

結局のところ、なぜ pypi の人々は github を指摘されたくないのでしょうか? これは両方の聴衆にとってより役に立ち、setup.py を簡素化します。

于 2010-01-25T21:33:29.137 に答える
2

あなたはいつでもこれを行うことができます:

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 ユーザーへの注意:などで始まる行に一致させるために)、もう少し柔軟性が得られる場合があります。

于 2010-01-25T19:34:35.947 に答える