我在我的c文件blargUtils.c中定义了包装器对象的名称,如下所示(我在Blargmethods中定义了方法及其批次)。。。在
void initBlarg(){
Py_InitModule("Blarg", Blargmethods);
}
我是这样编辑的。。。在
^{pr2}$
但是,当我试图在python脚本中导入包装器时。。。在
import Blarg
上面写着:“ImportError:没有名为Blarg的模块”。我有点迷路了,我不明白为什么它找不到这个类,因为它们的拼写完全相同。也许是逻辑错误?在
如果需要更多代码,请告诉我。在
Tags:
首先,从评论来看,我发现改名没用。这意味着(1)python找不到.so文件,(2)该.so文件不可用(即未正确编译或未找到所有必需的符号),或(3)在同一目录中有一个.py/.pyc/.pyo文件,该文件已具有该名称。如果你有布拉格·皮伊已经定义好了,python将首先查看这个文件。如果您在相同的目录中有一个名为Blarg的搜索路径,则该目录名为Blarg。所以,与其把头撞在墙上,不如试试这个:
1)将您的.so库重命名为保证不会发生冲突的内容(即\u Blarg)
2)同名编译
^{pr2}$3)创建一个python包装器(即。布拉格·皮伊)在
4)现在正常使用即可
显然这有点过头了,但它可以帮助您确定问题所在。希望这有帮助。在
相关问题 更多 >
编程相关推荐