PY2EXE: How to output “*_D.PYD” file (debug) and use MSVCR80D.DLL?
Question
The debug configuration of my app is built against:
PYTHON25_D.DLL
MSVCR80D.DLL
We use Python .PYD files in our application. Some of these .PYD are .PY converted by PY2EXE to .PYD.
When I run PY2EXE on MYSCRIPT.PY, I get the following .PYD and dependencies:
MYSCRIPT.PYD
PYTHON25.DLL
MSVCR71.DLL
KERNEL32.DLL
What I want is the debug version, built against the same C runtime library my app uses (MSVCR80D.DLL).
How can I convert MYSCRIPT.PY into:
MYSCRIPT_D.PYD <-- debug version of .PYD end with "_D"
PYTHON25_D.DLL <-- debug version of Python
MSVCR80D.DLL <-- ver 8.0, Debug
KERNEL32.DLL
How can this be done?
Solution
Note that the MS debug dlls are nondistributable - you must not give them avay. However, py2exe will collect the debug versions of all dlls correctly if you run a debug version of Python, and a debug compiled version of py2exe.
OTHER TIPS
it won't work, beacuse MSVCR80D is a side by side runtime
You will need to either tell user to directly install MS runtime or manually also copy the manifest files. Also the MSVCR71.DLL is not selected for you. It's for Python, so you may still need to keep it.