我正在打包我的 python C 扩展,但我在这里遇到了麻烦:
.
|-- c_ext/
| |-- __init__.py
|-- c_src/
setup.py
有了这个setup.py
from distutils.core import setup, Extension
setup( name = "Utilities",
version = '1.0',
description = ('Various utils'),
packages = ["utils"],
ext_modules = [Extension("utils.c_ext", ['c_src/c_extmodule.c'])]
)
我可以毫无问题地构建,但在安装后我无法导入我的模块,我只是得到一个 ImportError。
我确定这是微不足道的事情,所以我错过了什么?
提前致谢!
请您参考如下方法:
您的模块中是否有具有以下签名的函数:
PyMODINIT_FUNC initc_ext(void);
当您导入 C 扩展时,它会调用函数 init,其中是扩展的确切名称。 (请注意,约定是将 C 扩展命名为类似 _foo 的名称,您将获得类似 init_foo 的函数)
确切的错误也有助于更好地诊断。
