2013-04-29 39 views
1

當我通過distutil生成清單時,使用C擴展DLL嵌入清單的首選方式是什麼? 目前,當我建立一個C擴展爲distutil過程的一部分,它創建了一個清單和相應的* .pyd但是當我檢查使用的Dependency Walker依賴,使用distutil嵌入帶C擴展dll的清單

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

Python擴展DLL不應具有MSVCR清單。您可以看看Python附帶的擴展DLL(例如_bz2.pyd,_ctypes.pyd,_lzma.pyd,_tkinter.pyd等),您將看到它們不包含清單資源。