我有一个Python项目,它基本上是一组命令行脚本和一个帮助程序包.由于这些脚本有许多命令行选项,我决定为每个脚本创建一个手册页,并使用ronn(http://rtomayko.github.com/ronn/)在Markdown中编写手册并从中生成mdoc.
问题是:如何在基于distutils的项目中生成和安装手册页?
我提出了以下解决方案:创建一个简单的install.sh脚本,生成并安装手册页.我从重载的'install'命令调用此脚本并将指定的前缀传递给它...您可以在这里检查实际代码:http://github.com/novel/lc-tools.
我不太喜欢这个解决方案,因为简单的任务我必须添加一些hack来setup.py并实现一个shell脚本.此外,我使用$ {PREFIX}/share/man作为手册页路径,并且它对所有系统都不正确,例如FreeBSD似乎将第三方手册页安装到/ usr/local/man(即没有共享/).
有更优雅的方法吗?
setup.py 中的小技巧可以解决问题...作为补充,您可以添加一个特殊的 man_prefix 选项,可以在设置时传递该选项来更改 man 路径。
你可以这样做:
class lc_install(install):
description = "Custom Install Process"
user_options= install.user_options[:]
user_options.extend([('manprefix=', None, 'MAN Prefix Path')])
def initialize_options(self):
self.manprefix = None
install.initialize_options(self)
def finalize_options(self):
if self.manprefix is None :
self.manprefix = "DEFAULT MAN PREFIX PATH IF THE OPTION IS NOT SET"
install.finalize_options(self)
def run(self):
.... # Your run method
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2433 次 |
| 最近记录: |