5

我需要在基于 C 的应用程序中运行 Python 脚本。我可以从 Python 库中导入标准模块,即:

PyRun_SimpleString("import sys")

但是当我尝试导入本地模块时can

PyRun_SimpleString("import can")

返回错误信息:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named can

当我在 IPython 中键入命令import can时,系统能够找到它。

如何将我的应用与 can 链接?我试过设置PYTHONPATH到我的工作目录。

4

2 回答 2

9

嵌入 Python 库不会像交互式解释器那样''添加。sys.path用于PySys_SetPath()添加相应的目录。

哦,嘿,看看我发现了什么

于 2010-05-26T23:57:37.050 回答
0

我发现这更有效地工作,

PyObject *sys = PyImport_ImportModule("sys");
PyObject *path = PyObject_GetAttrString(sys, "path");
PyList_Append(path, PyUnicode_FromString("."));
于 2015-03-07T05:29:09.263 回答