Search code examples
pythondistutils

Hook to add commands to distutils build?


I've added a custom distutils command to a setup.py script:

from distutils.command.build_py import build_py

cmdclass = {}
cmdclass['build_qt'] = BuildQt
cmdclass['build_py'] = build_py

setup(..., cmdclass=cmdclass, ...)

Is there a way to make it so that when running::

python setup.py build

this first calls

python setup.py build_qt

automatically?


Solution

  • You can override build:

    from distutils.command.build import build
    
    class my_build(build):
        def run(self):
            self.run_command("build_qt")
            build.run(self)
    
    cmdclass['build'] = my_build