如何使用 python 的 distutils 安装脚本到 sbin?

Hel*_*hne 5 python installation distutils

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

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

Len*_*bro 4

您可以在 data_files 参数中指定文件的安装位置。将“/sbin”放入目录规范中应该可以工作:

setup(...,
      data_files=[('/sbin', ['rootfill']),
                  ('/etc/init.d', ['init-script'])]
     )
Run Code Online (Sandbox Code Playgroud)

  • 使用 data_files 而不是脚本的问题是 shebang 不会更改为使用用于运行 setup.py 的 Python 路径。这可以被视为好或坏。 (4认同)