我正在阅读有关如何绑定 Python 和 C 的教程。我使用的是 Python v3.7.1,所以我不得不使用新的 Python 接口(与示例不同),所以现在我有:加法器#include <Python.h>static PyObject *addList_add(PyObject *self, PyObject *args){ PyObject *listObj; if (!PyArg_ParseTuple(args, "O", &listObj)) return NULL; Py_ssize_t length = PyList_Size(listObj); long i, sum = 0; for (i = 0; i < length; i++) { PyObject *temp = PyList_GetItem(listObj, i); long elem = PyLong_AsLong(temp); sum += elem; } return Py_BuildValue("i", sum);}static char addList_docs[] = "add(): add all elements of the list\n";static PyMethodDef addLust_funcs[] = { {"add", (PyCFunction)addList_add, METH_VARARGS, addList_docs}, {NULL, NULL, 0, NULL}};static struct PyModuleDef addList = { PyModuleDef_HEAD_INIT, "addList", addList_docs, -1, addLust_funcs};PyMODINIT_FUNC PyInit_addList(void){ return PyModule_Create(&addList);}似乎一切都正确,我可以通过调用该addList.add()函数来运行 Python 代码。但是在构建模块时,我得到了这个输出
1 回答

胡子哥哥
TA贡献1825条经验 获得超6个赞
错误消息说:
version.replace(' ','.') AttributeError: 'float' 对象没有属性 'replace'
您的构建脚本说:
version=1.0
显然它需要一个字符串,而不是一个浮点数。
添加回答
举报
0/150
提交
取消