我一直在爲Blender編寫一個導出腳本,它爲任何插件使用python。由於我的大部分代碼庫都是用C++編寫的,因此我決定將我的代碼封裝爲一個python模塊(pyd),它將從導出腳本導入並傳遞所有相關位進行轉換。Python,從Python/Blender的發佈版本加載調試模塊
只要我發佈版本攪拌器加載模塊就好了,我甚至可以用Visual Studio進行調試 - 但要解決一個錯誤,發佈版本不可靠,所以我需要使用模塊的調試版本。不幸的是,在這種情況下,模塊不會加載。
在Python控制檯:
>>> import exporter_d
Traceback (most recent call last):
File "<blender_console>", line 1, in <module>
ImportError: DLL load failed: The specified module could not be found.
環視了一下後,我發現該錯誤是另一個DLL不可能找到,因爲我不加載任何東西我加蟒蛇的調試版本以及我的模塊。現在的錯誤是不同的:
Traceback (most recent call last):
File "<blender_console>", line 1, in <module>
ImportError: dynamic module does not define init function (PyInit_exporter_d)
所以我從「PyInit_exporter」改變了模塊初始化名「PyInit_exporter_d」(和刪除調試pythond.dll因爲它崩潰致命錯誤攪拌機),它返回第一錯誤(DLL加載faild)。
所以,我的問題是,如何在運行python發行版本時加載python模塊的調試版本? 由於python嵌入在攪拌機中,我想避免下載源代碼並重建它。
今天我要嘗試一下,希望攪拌機沒有問題與! – MichalisB 2013-01-25 12:12:28
是否有效?不知道我的食譜是否足夠詳細。 – 2013-01-29 14:44:57
不幸的是它不工作,我不認爲有一種方法可以將調試模塊加載到python的發佈版本中(除非我在調試時自己構建攪拌器) – MichalisB 2013-04-11 20:49:33