首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python:在基于distutils的项目中安装手册页

Python:在基于distutils的项目中安装手册页
EN

Stack Overflow用户
提问于 2010-09-07 16:57:36
回答 2查看 2.6K关注 0票数 18

我有一个Python项目,它基本上是一组命令行脚本和一个帮助程序包。因为这些脚本有许多命令行选项,所以我决定为每个脚本创建一个手册页,并使用ronn (http://rtomayko.github.com/ronn/)用Markdown编写手册,并从手册中生成mdoc。

问题是:如何在基于distutils的项目中生成和安装手册页?

我想出了以下解决方案:创建一个简单的install.sh脚本来生成和安装手册页。我从重载的'install‘命令调用这个脚本,并将指定的前缀传递给它……你可以在这里查看实际的代码:http://github.com/novel/lc-tools

我不太喜欢这个解决方案,因为对于简单的任务,我必须向setup.py添加一些技巧,并实现一个外壳脚本。此外,我使用${PREFIX}/share/man作为手册页路径,这并不适用于所有系统,例如FreeBSD似乎将第三方手册页安装到/usr/local/man (即无共享/)。

有没有更优雅的方法来做到这一点?

EN

回答 2

Stack Overflow用户

发布于 2010-09-14 20:07:35

你在setup.py上的小破解成功了……作为补充,您可以添加一个特殊的man_prefix选项,可以在设置时传递这些选项来更改man路径。

您可以这样做:

代码语言:javascript
复制
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
票数 2
EN

Stack Overflow用户

发布于 2011-10-09 18:15:09

distutils不支持手册页。人们已经编写了支持它们的扩展,通常是以自定义distutils命令的形式。参见来自Ubuntu的示例python-distutils-extra。

distutils2将支持安装手册页。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3657209

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档