【发布时间】:2011-12-09 23:59:26
【问题描述】:
我在 Obj-C 中运行嵌入式 Python 解释器。我可以很好地运行 Python 脚本,但是当我尝试导入某些标准模块时,我会得到 ImportError: No module named random,例如。
但是,我可以导入某些其他模块。到目前为止,我的调查给了我这个列表:
可以:
- 导入系统
- 导入数学
- 导入日期时间
- 导入时间
不能:
- 随机导入
- 重新导入
- 导入 cmath
- 导入号码
- 导入字符串
这是来自包含在包中的 python 文件,通过 PyImport_Import ('package.module') 导入。通过 Py_InitModule 加载了一个扩展模块。
这是在 Python 2.7.0 上 - 有什么理由可以使用其中一些模块而其他模块不可用?
【问题讨论】:
-
也许这些模块还没有包含在您正在运行的端口中?乍一看,这些模块可能都需要编译的组件(当然是 re 和 cmath),而这些组件可能尚未被移植。
-
很好的发现。原来我没有包括 Python 标准库(/pylib 中的那些有趣的文件...)。现在我随机运行,但在 os.py 中加载它会中断。但这是另一个问题!
-
您是否有机会分享如何让嵌入式 python 解释器在 obj-c 中运行 - 我一直遇到与您类似的问题
标签: python objective-c import