Метод, который я обычно использую, заключается в переопределении рассматриваемой команды:
from distutils.command.install import install as DistutilsInstall
class MyInstall(DistutilsInstall):
def run(self):
do_pre_install_stuff()
DistutilsInstall.run(self)
do_post_install_stuff()
...
setup(..., cmdclass={'install': MyInstall}, ...)
Мне потребовалось много времени, чтобы выяснить из документации и источника distutils
, поэтому я надеюсь, что это избавит вас от боли.
Примечание: вы также можете использовать этот параметр cmdclass
для добавления новых команд.