我怎样才能使这个 long_description 和 README 相差几句话?
Posted
技术标签:
【中文标题】我怎样才能使这个 long_description 和 README 相差几句话?【英文标题】:How can I make this long_description and README differ by a couple of sentences? 【发布时间】:2011-01-09 05:56:47 【问题描述】:对于我的一个包,我有一个 README.rst 文件,它被读取到 setup.py 的长描述中,如下所示:
readme = open('README.rst', 'r')
README_TEXT = readme.read()
readme.close()
setup(
...
long_description = README_TEXT,
....
)
这样我每次提交时都可以在我的github page 和pypi page 上每次我python setup.py register
时显示自述文件。只有一个问题。我希望 github 页面上写出类似“本文档反映了 envbuilder 的预发布版本。有关最新版本,请参阅 pypi。”
我可以将这些行放在 README.rst 中,然后在 python setup.py register
之前删除它们,但我知道在推送到 pypi 之前,我有时会忘记删除这些句子。
我正在想办法实现自动化,这样我就不用担心了。谁有想法?有什么我可以做的 setuptools/distutils 魔术吗?
【问题讨论】:
【参考方案1】:您可以只使用带有“在此处拆分”之类的文本的 ReST 注释,然后在 setup.py 中对其进行拆分。 Ian Bicking 在 virtualenv 中使用 index.txt 和 setup.py 进行此操作。
【讨论】:
这就是我所做的。谢谢!【参考方案2】:另一种选择是通过添加适用于两种环境的段落来完全回避这个问题:“最新的不稳定代码在 github 上。最新的稳定套件在 pypi 上。”
毕竟,为什么假设 pypi 人不想被指向 github?这将对双方都更有帮助,并简化您的 setup.py。
【讨论】:
两个版本都有安装说明。不想被指向 github 的 pypi 人与其说是关于某人做easy_install envbuilder
,然后查看 github 上的文档(这将是针对开发版本)并想知道为什么它不起作用。也就是说,我想我可以更清楚地了解稳定和不稳定版本的位置。【参考方案3】:
你总是可以这样做的:
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 用户注意事项: 或其他内容开头的行)可能会给您更多的灵活性。
【讨论】:
没想到那样做。我试试看。以上是关于我怎样才能使这个 long_description 和 README 相差几句话?的主要内容,如果未能解决你的问题,请参考以下文章
使用来自其他类的公共静态 HashTable 的同步方法。我怎样才能使这个方法线程安全?