如何子类化构建命令?
问题内容:
该主题是自描述性的:我需要对setup.py build
命令进行子类化才能执行其他构建步骤。但是我没有找到任何build
要继承的命令类。我一直在尝试:
class BuildCommandProxy(setuptools.command.build):
pass
和
class BuildCommandProxy(distutils.command.build):
pass
乃至:
class BuildCommandProxy(setuptools.distutils.command.build):
pass
没有任何成功。
UPDATE
:寻找如何实现像这样用setuptools
。
UPDATE2 :我有一些自定义命令实现:
class CustomCommand(setuptools.Command):
# ...
我要实现的是通过以下命令来实现cmdclass
:
cmdclass={
"build": CustomCommand,
}
然后在执行一些自定义步骤后调用build
in中的原始文件CustomCommand.run
。
问题答案:
Setuptools不会覆盖distutils
build
命令本身。只有build_py
和build_ext
子命令。
因此,要创建自己的子类,您需要从distutils.command.build
模块中
导入,其中包含一个build
类(的子类Command
):
import distutils.command.build
class BuildCommandProxy(distutils.command.build.build):
pass