GarethPrice
GarethPrice

Reputation: 1104

Including external binaries in python package

I have a python module that is basically a big wrapper (which does lots more stuff besides) for an external binary (non python). I would like to include the binaries (1 binary for osx, 1 for linux) along with my code. I currently have the following in my setup.py:

package_data={'packagename': ['lib/app-osx/*', 'lib/app-linux/*', 'lib/*.awk']},

and the files are located at:

/packagename
 /lib
  script.awk
  /app-osx/
    app
  /app-linux
    app

I can't seem to find where they are installed, if they are at all? Is there a convention for this? I obviously can't use dependencies for this :(

And then, what's the best way of finding their location within the python script?

Thanks

Upvotes: 11

Views: 6910

Answers (2)

Polieter
Polieter

Reputation: 51

I think MANIFEST.in can solve all problems with additional files attached to the python package.

recursive-include lib/app-osx/*
recursive-include lib/app-linux/*
recursive-include lib/*.awk

Upvotes: 1

GarethPrice
GarethPrice

Reputation: 1104

With Jonathon's prompting, I went through the chat and found the solution that Lukas provided me. The solution was simply to add the following to the setup.py:

zip_safe=False

Upvotes: 3

Related Questions