我得到了一個C庫wave.so,具有功能接口定義,我遵循的指導這裏總結與Python C庫僅
https://stackoverflow.com/a/5868051/2789784
和它的作品。但是,當我將腳本創建爲MyModule.py文件時,並嘗試通過導入
import MyModule
然後它給了我這個錯誤。
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: dynamic module does not define init function (initwave)
爲什麼會發生這種情況?我應該如何解決它?
修復: 所以我有MyModule.py和MyModule.so在同一個文件夾,python試圖加載MyModule.so而不是MyModule.py,當然他不能成功,更改MyModule的名稱。 py to wave.py and
import wave
解決了這個問題。所以基本上,如果你只是想調用一些C++庫函數,你真的只需要一個python腳本包裝器,就是這樣,沒有c編程。我也可以將我的C++共享庫用於其他應用程序。
是您'.so'也叫'MyModule.so'?這將解釋Python拾取錯誤的文件。 – millimoose
哈哈,你是對的,我只是回來試圖解決我的愚蠢之前,別人發現它,並在這裏你,發現它。 – user40129