2011-02-17 58 views
4

通常在大多数unix系统中,$PREFIX/bin$PREFIX/sbin之间存在区别。当安装一个软件时,管理员决定什么是$PREFIX,但作者决定哪些程序适合普通用户,哪些不适合。使用Python的distutils可以定义一组scripts,并将它们安装到$PREFIX/bin。那么如何将脚本安装到相应的sbin目录?如何使用python的distutils将脚本安装到sbin?

请注意,在这种情况下,仅针对Linux的解决方案受到欢迎,因为其他软件问题依赖于iptables。

+1

使用`distutils`非常令人沮丧,我决定使用Makefile。 – 2011-02-21 15:37:29

回答

4

您可以指定data_files参数中应安装哪些文件。它应该把“/ sbin目录”目录规范:

setup(..., 
     data_files=[('/sbin', ['rootfill']), 
        ('/etc/init.d', ['init-script'])] 
    ) 
+3

使用data_files而不是脚本的问题是,shebang不会更改为使用用于运行setup.py的Python的路径。这可以被视为好或坏。 – 2011-10-10 16:12:22

1

对于distutils的,我们正在努力支持安装脚本到前缀/ sbin目录。

+0

有没有进展?如果是,请更新您的答案。 – 2013-09-10 10:53:03

相关问题