无法在嵌入式Python中导入特定模块

时间:2011-10-18 10:47:28

标签: python objective-c import

我在Obj-C中运行嵌入式Python解释器。我可以很好地运行Python脚本,但是当我尝试导入某些标准模块时,我得到了ImportError: No module named random

但是,我可以导入某些其他模块。到目前为止,我的调查给了我这个清单:

可以:

  • import sys
  • 导入数学
  • import datetime
  • 导入时间

不能:

  • import random
  • import re
  • import cmath
  • 导入数字
  • 导入字符串

这是来自包含在包中的python文件,通过PyImport_Import('package.module')导入。通过Py_InitModule加载了一个扩展模块。

这是在Python 2.7.0上 - 有什么理由可以使用其中一些模块而不是其他模块吗?

1 个答案:

答案 0 :(得分:0)

托马斯K让我走上正轨,尽管问题恰恰相反。

我的Python设置缺少标准的Python库 - 用Python编写的部分(通常通过/ Library,/ Lib或/ pylib在发行版中分发。一旦这些文件被添加到我的应用程序中,所有导入都很好。< / p>

因此,上面的可导入和不可导入模块之间的链接是可导入的内容在C中用Python扩展编写,而不可导入的模块用纯Python编写。