对于我的一个软件包,我有一个README.rst文件,可以读入setup.py的长描述:
readme = open('README.rst', 'r')
README_TEXT = readme.read()
readme.close()
setup(
...
long_description = README_TEXT,
....
)
这样我每次提交时都可以在github page上显示README文件,每次python setup.py register
时都会显示pypi page。只有一个问题。我想在github页面上说“这篇文档反映了envbuilder的预发布版本。对于最新版本,请参阅pypi。”
我可以把这些行放在README.rst中并在python setup.py register
之前删除它们,但是我知道在推到pypi之前我会忘记删除句子。
我正在考虑自动化这种方法的最佳方法,所以我不必担心它。有人有主意吗?我可以做任何setuptools / distutils魔法吗?
答案 0 :(得分:8)
答案 1 :(得分:5)
另一种选择是通过添加适用于两种环境的段落来完全解决问题:“最新的不稳定代码在github上。最新的稳定工具包在pypi上。”
毕竟,为什么假设pypi人不想被指向github?这对两个受众群体都更有帮助,并简化了setup.py。
答案 2 :(得分: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为Github用户开头的行:或其他东西)可能会给你一点灵活性。