Hi,

My current solution is like this

I get the source code of project A.   And use  `cmdclass={"install": my_install},`  in my setup function in setup.py.

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.
Could anyone  give me any elegant examples to achieve the same goal?

Thanks in advance


On Thu, Jun 2, 2016 at 11:05 AM, Young Yang <afe.young@gmail.com> wrote:
hi, 

I'm writing python-binding for project A.

My python-binding depends on the compile output of project A(It is a .so file), and the project A is not installed in the system(so we can't find the .so files in the system libraries pathes)

What's the elegant way to package my python-binding, so that I can install everything by run `python setup.py` ? 

Any suggestions and comments will be appreciated :)

--
Best wishes,
Young



--
Best wishes,
Young Yang