0
我有一個很大的C++模塊,它使用Boost.Python與Python 3綁定,我編譯成使用CMake上的macOS的.so
文件。用Boost.Python創建的Python模塊將不會被導入
當我嘗試導入它在REPL,一切似乎都很好地工作:但是當我運行import
聲明
>>>import myModule
>>>
,Python中的著名火箭圖標中顯示出來碼頭和停留在那裏跳幾分鐘後停止。很顯然,我無法訪問我的模塊中定義的任何函數,因此導入看起來很好,但實際上並沒有做任何事情。
我試着看在控制檯,看到,只要我import myModule
,我得到兩個launchservicesd[83]: SecTaskLoadEntitlements failed error=22
。 它把我帶到this和that有關的問題,但我找不到確切的問題是什麼。
C++模塊非常龐大,所以我不能查看代碼並找到問題,因此我要求提供有關至少如何調試該問題的任何提示。
「myModule.so」是否有這樣的依賴關係,如果是這樣,它們是否在os/shell路徑上用於這些?模塊本身由PYTHONPATH找到,但共享庫依賴關係不是。 –
謝謝你的回答! 「myModule.so」具有「so」依賴關係,但這些都是非常標準的(可以在[there](http://pastebin.com/1fNEDmbv)找到'otool -L myModule.so'的結果)。我嘗試將所有這些路徑添加到我的PYTHONPATH中,但它不會改變任何內容。 – filaton
很難說正在發生的事情。嘗試評論一切(在BOOST_PYTHON_MODULE(myModule)內),然後編譯並運行。做它運行?如果是,請嘗試取消註釋某些塊,直到找到問題。 –