How to extend distutils with a simple post install script?

I dug through distutils source for a day to learn enough about it to make a bunch of custom commands. It’s not pretty, but it does work.

import distutils.core
from distutils.command.install import install
...
class my_install(install):
    def run(self):
        install.run(self)
        # Custom stuff here
        # distutils.command.install actually has some nice helper methods
        # and interfaces. I strongly suggest reading the docstrings.
...
distutils.core.setup(..., cmdclass=dict(install=my_install), ...)

Leave a Comment