1

我想让我的守护程序在setup.py 安装后自动启动

在 shell 中,我可以通过以下方式存档:

update-rc.d kmsd 默认 21

在 setup.py ( disutil ) 中,该怎么做?

是否可以这样做,或者我只能让我的用户在安装后手动调用此命令?

谢谢

4

1 回答 1

2

是的,这是可能的。我在自己的代码中执行此操作,以使用旧版构建系统预编译一些库。

像下面这样的东西应该可以工作,尽管我应该警告说我没有测试下面的代码。

from distutils.core import setup, Command
import distutils.command.install as InstallCommand
from subprocess import call

class FinallyDoSomething(Command):
    description = "Do my custom stuff"
    user_options = []
    def initialize_options(self):
        pass

    def finalize_options(self):
        pass

    def run(self):
        call(["update-rc.d", "kmsd", "defaults", "21"])

class NewInstall(InstallCommand):
    sub_commands = InstallCommand.sub_commands + [
            ('custom_install', None),]

setup(name='PackageName',
      version='0.1',
      #The rest of the setup config
      cmdclass={
          'install': NewInstall,
          'custom_install': FinallyDoSomething,
          },
      )
于 2013-02-21T09:17:46.603 回答