py2exe : "*_d.pyd"파일 (디버그)을 출력하고 msvcr80d.dll을 사용하는 방법?
문제
내 앱의 디버그 구성은 다음과 같습니다.
PYTHON25_D.DLL
MSVCR80D.DLL
응용 프로그램에서 Python .pyd 파일을 사용합니다. 이 .pyd 중 일부는 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
이 작업은 어떻게 할 수 있습니까?
해결책
MS Debug DLL은 분산 가능하지 않습니다. Avay를 제공해서는 안됩니다. 그러나 Py2Exe는 디버그 버전의 Python 버전과 Debug 컴파일 버전의 py2exe를 실행하면 모든 DLL의 디버그 버전을 올바르게 수집합니다.
다른 팁
작동하지 않습니다. Beacuse MSVCR80D는 나란히 런타임입니다.
MS 런타임을 직접 설치하거나 매니페스트 파일을 수동으로 복사하도록 사용자에게 알려야합니다. 또한 MSVCR71.dll은 귀하를 위해 선택되지 않았습니다. 파이썬을위한 것이므로 여전히 보관해야 할 수도 있습니다.
제휴하지 않습니다 StackOverflow