PY2EXE:如何输出“* _D.PYD”文件(调试)并使用MSVCR80D.DLL?

时间:2009-05-02 03:40:31

标签: python windows py2exe

我的应用程序的调试配置是针对以下内容构建的:

  PYTHON25_D.DLL
  MSVCR80D.DLL

我们在应用程序中使用Python .PYD文件。其中一些.PYD是.PY由PY2EXE转换为.PYD。

当我在MYSCRIPT.PY上运行PY2EXE时,我得到以下.PYD和依赖项:

MYSCRIPT.PYD
  PYTHON25.DLL
  MSVCR71.DLL
  KERNEL32.DLL  

想要的是调试版本,是针对我的应用程序使用的相同C运行时库(MSVCR80D.DLL)构建的。

如何将MYSCRIPT.PY转换为:

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

如何做到这一点?

2 个答案:

答案 0 :(得分:0)

它不起作用,因为MSVCR80D是一个并排的运行时

您需要告诉用户直接安装MS运行时或手动复制清单文件。 此外,未选择MSVCR71.DLL。它适用于Python,因此您可能仍需要保留它。

答案 1 :(得分:0)

请注意,MS调试dll是不可分发的 - 您不能给它们提供avay。但是,如果运行Python的调试版本和py2exe的调试编译版本,py2exe将正确收集所有dll的调试版本。