如何子类化构建命令?

发布于 2021-01-29 16:27:37

该主题是自描述性的:我需要对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,
}

然后在执行一些自定义步骤后调用buildin中的原始文件CustomCommand.run

关注者
0
被浏览
47
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

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

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

    import distutils.command.build
    
    class BuildCommandProxy(distutils.command.build.build):
        pass
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看