我得到了一个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