我試圖使用thanos,它在運行時創建擴展模塊。 Thanos經常失敗,因爲它無法導入它在運行時創建的所述擴展。無法加載存在的python擴展模塊
我百思不得其解,爲什麼是這種情況。
在運行時(編譯後) 「cutils_ext」 目錄包含cutils_ext.so
import cutils_ext
的作品,但我mport cutils_ext.cutils_ext
失敗
ImportError: No module named cutils_ext
我已經測試了IMP直接。說cutils是導入的cutils_ext包。 當我做:
imp.find_module('cutils_ext', cutils.__path__)
我再次得到了:
ImportError: No module named cutils_ext
我完全莫名其妙。有什麼方法可以調試嗎?由於我無法啓動python解釋器(使用picloud),因此我無法在詳細模式下運行python,但是如果我可以在運行時啓用詳細信息,那將有所幫助(還沒有弄清楚如何做到這一點)。
Thanos將其模塊鏈接到的Python版本與您使用的相同嗎?例如,入口點協議在Python 2和Python 3之間不同。 – cdarke
是的,所有的都是python2.7。我甚至可以將擴展名下載到我自己的電腦上並直接加載。無論哪種方式,似乎find_module失敗,甚至在負載發生之前 – UsAaR33
哇,我的壞。看起來我在sys,path的其他地方有另一個cutils_ext,Theano正在預加載它。在Theano上提交了一個bug(https://github.com/Theano/Theano/issues/728) – UsAaR33