我正在尝试运行嵌入示例,我无法从当前工作目录加载模块,除非我明确将其添加到sys.path
然后它可以工作:
PyRun_SimpleString("import sys");
PyRun_SimpleString("sys.path.append(\".\")");
Python 不应该在当前目录中查找模块吗?
Edit1:尝试只导入模块:
Py_Initialize();
PyRun_SimpleString("import multiply");
它仍然失败并出现以下错误:
Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: No module named multiply
Edit2:来自sys.path
文档:
如果脚本目录不可用(例如,如果以交互方式调用解释器或从标准输入读取脚本),则 path[0]是空字符串,它指示 Python 首先搜索当前目录中的模块。
不确定not available是什么意思,但如果我打印sys.path[0]
它不是空的:
/usr/lib/pymodules/python2.7