8

对于我的一个包,我有一个 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 中,然后在 I 之前删除它们python setup.py register,但我知道在推送到 pypi 之前,有时我会忘记删除这些句子。

我正在尝试考虑自动化的最佳方法,所以我不必担心它。有人有想法么?我可以做任何 setuptools/distutils 魔术吗?

4

3 回答 3

9

您可以只使用带有一些文本的 ReST 注释,例如“在此处拆分”,然后在 setup.py 中对其进行拆分。Ian Bicking 在 vi​​rtualenv 中使用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. 改用正则表达式(例如,匹配以Note for Github 用户开头的行:或其他内容)可能会给您更多的灵活性。

于 2010-01-25T19:34:35.947 回答