cx_Freeze and Python

BM b.maryniuck at gmail.com
Sat Sep 30 10:24:20 EDT 2006


Hi.
Does somebody used cx_Freeze, especially on Mac? I have a trouble to
make *standalone* program. If I use dynamically compiled Python as it
done by default, I always have an "hardcoded" URL inside the Python
binary something like /usr/local/Python2.5/lib/libpython.... so after I
freeze stuff and put to another machine, it fails with exactly the
error: Library /usr/local/Python2.5/blah-blah/... is missing. Means,
not a standalone App so far.

Then I tried to build Python statically. I success editing
Modules/Setup and I got fat binary with no such a path inside the VM.
However, when I try to Freeze, it barks with the following:

Traceback (most recent call last):
  File "/Users/bm/cx_Freeze-3.0.3/initscripts/ConsoleKeepPath.py", line
15, in <module>
    exec code in m.__dict__
  File "FreezePython.py", line 7, in <module>
    import Freezer
  File "Freezer.py", line 9, in <module>
    import zipfile
  File "/Users/bm/Python2.5-static/lib/python2.5/zipfile.py", line 5,
in <module>
    import binascii, cStringIO
ImportError:
dlopen(/Users/bm/Python2.5-static/lib/python2.5/lib-dynload/binascii.so,
2): Symbol not found: _PyModule_GetDict
  Referenced from:
/Users/bm/Python2.5-static/lib/python2.5/lib-dynload/binascii.so
  Expected in: dynamic lookup

Well, traceback usually differs - depends of what module it wants to
load. If you make it ./configure --disable-shared, then it fails
loading _struct.so or similar. What I am missing in the very principle?

Thanks for any advice.




More information about the Python-list mailing list