使用distutil使用C Extension dll嵌入清单

时间:2013-04-29 17:54:33

标签: python windows manifest msvcrt

当我通过distutil生成清单时,使用C扩展DLL嵌入清单的首选方法是什么。 目前,当我构建一个C扩展作为distutil进程的一部分时,它会创建一个清单和相应的* .pyd但是当我使用依赖walker检查依赖时,

enter image description here

但如果我手动嵌入清单

mt -manifest jep.pyd.manifest -outputresource:jep.pyd;2
Microsoft (R) Manifest Tool version 6.2.9200.16384
Copyright (c) Microsoft Corporation 2012.
All rights reserved.

依赖性得到满足

enter image description here

建议的方法是克服嵌入清单的手动过程。这可以通过distutil自动完成吗?

1 个答案:

答案 0 :(得分:1)

Python扩展DLL不应具有MSVCR清单。您可以查看Python附带的扩展DLL(例如_bz2.pyd,_ctypes.pyd,_lzma.pyd,_tkinter.pyd等),您将看到它们不包含清单资源。