在嵌入式编译程序C/C++中创建扩展的Python类型对象

2021-09-17 00:15:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图使用这里的文档https://docs.python.org/3/extending/newtypes.html定义一个新的python类型对象。目前,我只是按照“基础知识”一节的内容来定义一个与文档中使用的名称相同的新类型。然后,我通过调用PyImport_AppendInittab("noddy", &PyInit_noddy);,然后调用Py_Initialize();,将python解释器嵌入到一个简单的应用程序中,然后使用PyRun_SimpleString(script);运行一个简单的python脚本,其中“script”实际上是

import noddy mytest = noddy.Noddy()

在文档中作为创建新扩展类型对象的示例。我遇到的问题是,这会产生一个错误TypeError: cannot create 'noddy.Noddy' instances。你知道吗

我做错什么了?我很感激我没有提供任何源代码,但我只是从文档中复制了示例。我知道每个部分都在做什么,但我找不到问题。创建了名为noddy的模块,添加了noddy对象,为什么我不能创建一个点点。点点()文档中所述的对象?你知道吗

任何帮助都将不胜感激,我自己也试图找到一个解决办法,但最终还是落空了。提前谢谢。你知道吗