gpt4 book ai didi

python - 无法在Python中导入C扩展文件

转载 作者:行者123 更新时间:2023-11-30 16:20:40 27 4
gpt4 key购买 nike

我的扩展 C 函数,位于 pyc.c

#include<Python.h>
static PyObject *add(PyObject* self,PyObject* args) {

int a=9;
int b=10;
int c=a+b;
return Py_BuildValue(c);

//return Py_BuildValue( "s","hiiiii");
}

static char prin_docs[] = "prin( ): Any message you want to put here!!\n";

static PyMethodDef consume_methods[] = {
{"add", (PyCFunction)add,
METH_NOARGS, prin_docs},
{NULL}
};

PyMODINIT_FUNC initadd(void) {
Py_InitModule3(add, consume_methods,
"Extension module example!");
}

我的设置文件:

from distutils.core import setup, Extension
setup(name='add', version='1.0',
ext_modules=[Extension('add', ['pyc.c'])])

使用该 C 文件的 Python 程序:

import add

print(add.add());

上面的代码成功创建了一个 .so 对象,但我无法通过执行该对象来导入 Python 程序。我收到以下错误:

Traceback (most recent call last):
File "pycall.py", line 1, in <module>
import add
ImportError: No module named add

最佳答案

你真的setup.py安装你的模块了吗?如果您只构建它,它不会位于 sys.path 上。

关于python - 无法在Python中导入C扩展文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55215233/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com