from distutils.command.sdist import sdist as sdist_orig from distutils.errors import DistutilsExecError from setuptools import setup, find_packages class install(sdist_orig): def run(self): try: self.spawn(['sh', '.install.sh']) except DistutilsExecError: self.warn('lost installation script') super().run() setup(name='tods', version='0.0.1', cmdclass={ 'install': install }, )