On Fri, Jun 3, 2016 at 5:35 AM, Young Yang <afe.yo...@gmail.com> wrote:
> my_install is a subclass of `from setuptools.command.install import > install` > ``` > class my_install(install): > def run(self): > # DO something I want. Such as compiling the code of project A and > copy the output of it (i.e. the .so file) to my binding folder > install.run(self) > ``` > > At last I add these options in my setup function in setup.py to include > the shared library in the install package. > ``` > package_dir={'my_binding_package': 'my_binding_folder'}, > package_data={ > 'my_binding_package': ['Shared_lib.so'], > }, > include_package_data=True, > ``` > > But I think there should be better ways to achieve these. > Overriding only the `install` will make bdist_wheel produce the wrong result. There's also the `develop` command. Some ideas about what commands you might need to override: https://github.com/pytest-dev/pytest-cov/blob/master/setup.py#L30-L63 An alternative approach would be to create a custom Extension class, check this https://github.com/cython/cython/tree/master/Cython/Distutils for ideas. Unfortunately the internals of distutils/setuptools aren't really well documented so you'll have to rely on examples, simply reading distutils code, coffee or even painkillers :-) Thanks, -- Ionel Cristian Mărieș, http://blog.ionelmc.ro
_______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org https://mail.python.org/mailman/listinfo/distutils-sig