From: Daryl T. <dt-...@ha...> - 2009-03-07 09:33:11
|
Hi There. I have a Python application that I've been using py2exe to produce a single file executable, with no problems to date (until now). I recently had to write a C extension for it to access some Btrieve tables, and this works fine from the traditional interpreted Python, but the exe now crashes when loading the import module (using PY2EXE_VERBOSE=2 shows it finding the module in the internal ZIP file, and then dying). If I exclude the extension module from the executable and import it externally, I get "Fatal Python error: Interpreter not initialized (version mismatch?)", which is odd as there is only the single version of Python installed on this box. I've built a simple extension module that does little more that return a Py_BuildValue() value and built an exe that successfully imports and uses that module to at least prove to myself (somewhat) that this should work. Dependency walker shows only the MPR.DLL module with an unresolved import, but this occurs in both the working and "non-working" extensions, and appears to be a known and non-relevant issue anyway. Are there any ideas on how I could debug this further? Some versions: Windows XP (sans service packs) Python: 2.5.2 MinGW: 3.4.5(-20060117) Py2exe: 0.6.8 Btrieve: 8.something (can't upgrade this). Cheers, and thanks in advance. PS PY2EXE_VERBOSE needs to be more publicly known about - I just happened to read about it in an unrelated post, and wouldn't have known about it otherwise ... -- Regards, Daryl Tester "Must have scripting experience; Pearl, Shell, Python, VBScript, Born, Corn, Awk, Sed" -- Unix job advertisement. |
From: Daryl T. <dt-...@ha...> - 2009-03-10 06:40:46
|
Daryl Tester wrote: > I have a Python application that I've been using py2exe to produce a > single file executable, with no problems to date (until now). Quiet list - one private reply. :-/ > I recently had to write a C extension for it to access some Btrieve > tables, and this works fine from the traditional interpreted Python, > but the exe now crashes when loading the import module (using > PY2EXE_VERBOSE=2 shows it finding the module in the internal ZIP > file, and then dying). I'm still not sure what the underlying cause of this is, but excluding the Btrieve DLL from the embedded ZIP file has solved this for the time being. I still don't know why this should be an issue, as other modules have imported their DLL dependencies. > If I exclude the extension module from the executable and import it > externally, I get "Fatal Python error: Interpreter not initialized > (version mismatch?)", which is odd as there is only the single version > of Python installed on this box. Still no idea what's causing this one, and it appears to occur with any module, not just the one I wrote. -- Regards, Daryl Tester "Must have scripting experience; Pearl, Shell, Python, VBScript, Born, Corn, Awk, Sed" -- Unix job advertisement. |