From: Jeffrey B. <jef...@gm...> - 2020-04-13 19:54:23
|
I have two machines using py2exe to build an executable distribution. Each machine produces a slightly different build, when I desire them to be identical. The build from the 1st machine works on every computer that I have moved it to. The build from the second machine works on some machines, but fails on others. It fails to load QtCore.dll, and QtCore.dll is present in the distribution. I have tried to examining python -m pip list to make sure both machines have the same packages. py2exe is version 0.6.9 python is version 2.7.13 But now I get to the weird part, the main part of my question. On Machine 1 the one who's build works everywhere. c:\python27\python27.dll and d:\dist\python27.dll have different md5sums. Upon diffing these I see that d:\dist\python27.dll has the characters py2exe embedded within it and the one in c:\python27\python27.dll does not have these characters. I have renamed all other instances of python27.dll on my computer, so we can just focus on these two. On the second computer, the one that works in only some places, the python27.dll match. c:\python27\python27.dll exactly matches c:\dist\python27.dll and do not have the characters py2exe embedded. Here the drive letters are the same. Above they were c: and d: Besides py2exe seemingly embedding its signature into python27.dll, here are a few other oddities. The good build copies API-MS-Win-Core-LocalRegistry-L1-1-0.dll. I don't think it should do this. The bad version does not copy this file. The bad version copies bcrypt.dll and crypt32.dll, the good version does not. The produced executables also do not match. I have compressed:0, optimize: 0 So, why does py2exe modifiy python27.dll sometimes? I'm not sure how to debug this. I think I'm starting with the same setup on both machines. Each machine has some packages that the other one does not though. But the common packages all match version number. |