packaging code with compiled libraries

Tim jtim.arnold at gmail.com
Mon Oct 5 15:43:38 EDT 2015


I have a package I want to share but have a question about packaging.

Mostly the package is pure python code, but it also requires some binary libraries (*.so, *.dll, *.dylib).  I want to bundle these libs so users don't have to compile. The package will run on *nix/windows/mac platforms.

Currently I handle this in setup.py. In the 'build' phase, I copy the platform-specific libs to a subdirectory called 'libs'.  

    class MyBuilder(build_py):
        def run(self):
            conditional logic for copying 
            appropriate library files to 'libs'
            etc etc.
            build_py.run()

And that seems to work, but after reading more from the Python Packaging Authority, I wonder if that is the right way.  Should I be using wheels instead? 
I think my brain fried a little bit while going through the doc.

thanks,
--Tim



More information about the Python-list mailing list