wxPython application behaves different after being packed by py2exe.

来源:互联网 发布:win10磁盘优化需要几遍 编辑:程序博客网 时间:2024/05/17 06:32

Problem:
My wxPython application containing XRC resources behaves different after being packed by py2exe. The difference is that the GIF images used by wxStaticBitmap controls in XRC dialogs were not displayed transparently, but a black background.

Solution:
While building distrubution of your wxPython application with py2exe, ensure the shared librarys are built into the same folder as the generated .exe file(s).

My Story:
When I noticed this problem, I was thinking it must caused by lost of some library when building library package by py2exe. I spent a whole day trying to find it out. But, even I put all modules and library it required into the package, it does not help. While I was planning to give up. I decided to have a last try. I reverted my setup.py into the initial version and rebuilt it. Surprisingly, it worked. Comparing the working build with previous builds, I noticed that the only difference is that the shared libraries locate in the same folder as the app.exe file in the working build. Then, I restore my setup.py to the lasted version and made a simple change to ensure all the shared library can be built into the folder as the output .exe file. Wow, it works!