【发布时间】:2011-06-27 22:10:27
【问题描述】:
我已经完成并定义了我的新类型,将它们存储在 pytypeobject 中并调用了以下函数(在初始化解释器之后):
PyType_Ready(); //这需要我定义的类型
PyModule_AddObject(); //这会将定义的类型添加到我使用创建的模块中 PyModule_Create();
现在,当我尝试使用我定义的类型时,解释器说它不存在,所以我假设必须采取另一个步骤才能在运行时添加类型,或者还有其他一些我必须采取的步骤来实现这一目标。
任何帮助将不胜感激。
Python 语法错误:
Traceback (most recent call last):
File "testscript.py", line 1, in <module>
import Bound
ImportError: No module named Bound
测试脚本内容:
import Bound
l = Bound.Foo()
Bound 是我定义模块的名称,Foo 是我试图定义的类型,用于测试目的。
【问题讨论】:
-
请发布您收到的确切错误消息。
-
还要指出您试图用来访问该类型的确切语法。
-
或者提供一些类的调试信息:P
-
我添加了调试信息,但我看不出它有什么帮助。要么你知道如何在运行时将用户定义的类型添加到 python,要么你不知道。对于知道如何操作的人来说,我提供的信息应该足够了。
-
@Dane:“没有名为 Bound 的模块”意味着它根本看不到您编译的模块。那是在它甚至试图寻找
Foo之前。所以你需要制定一个你可以先导入的模块。
标签: python c module runtime python-extensions