如何创建构建命令的子类?

eig*_*ein 8 python setuptools python-3.x

主题是自描述的:我需要子setup.py build命令命令以执行其他构建步骤.但是我找不到任何build要继承的命令类.我一直在努力:

class BuildCommandProxy(setuptools.command.build):
    pass
Run Code Online (Sandbox Code Playgroud)

class BuildCommandProxy(distutils.command.build):
    pass
Run Code Online (Sandbox Code Playgroud)

乃至:

class BuildCommandProxy(setuptools.distutils.command.build):
    pass
Run Code Online (Sandbox Code Playgroud)

没有任何成功.

UPDATE:寻找如何实现像这样setuptools.

UPDATE2:我有一些自定义命令实现:

class CustomCommand(setuptools.Command):
    # ...
Run Code Online (Sandbox Code Playgroud)

我想要实现的是将此命令传递给cmdclass:

cmdclass={
    "build": CustomCommand,
}
Run Code Online (Sandbox Code Playgroud)

然后调用原来buildCustomCommand.run做一些自定义的步骤之后.

Mar*_*ers 9

Setuptools不会覆盖distutils build命令本身; 只有build_pybuild_ext子命令.

因此,要创建自己的子类,需要从distutils.command.build 模块导入,该模块包含一个build类(子类Command):

import distutils.command.build

class BuildCommandProxy(distutils.command.build.build):
    pass
Run Code Online (Sandbox Code Playgroud)