1

This question is not about how to bundle a python application into a exe, or a binary. I can (almost) figure that by myself, with all the doc on the internet.

My question is more about what the final user will be able to see about my program. And for my personal culture.

For example, with cx_freeze, if I try to compile my app, I end up with a build directory. Inside, I have the binary of my app, let's call it "gui". But around, I have a bunch of *.so files. Basically, the user can see every lib I used to build my app. I thought (maybe naively) that if I could create a unique binary file, all the libs would be included in the binary, and so, not "visible" by the user.

Do I think right or is it completely wrong ? Is it possible to bundle all the libs into one single binary, and mask them ? (I know cx_freeze can't handle a single bundle file).

JPFrancoia
  • 4,866
  • 10
  • 43
  • 73
  • `*.so` files are binary, and fairly opaque. Is it really so important to hide them? – jpaugh May 13 '15 at 01:49
  • Hum not very, after what I read on SO. What about the .pyc files though ? I read the can be uncompiled to get the source code. I have plenty of them too. – JPFrancoia May 13 '15 at 13:27

1 Answers1

0

You may want to consider pyinstaller. With the --onefile switch you can bundle everything into one file. However, it only fully supports python X2. This is a good tutorial to get started with it .

If you cannot use pyinstaller, you may want to try to use the answer posted here.

EDIT:

After having read the cx_freeze documentation, it turns out that you cannot bundle everything into a single exe. You will have to create a self extracting file with 7zip or IEXPRESS (if you are on Windows) that just unpacks all of your .so files.

Community
  • 1
  • 1
Pseudonym Enigma
  • 129
  • 1
  • 2
  • 14