我需要在基于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
设置为我的工作目录。
答案 0 :(得分:9)
嵌入Python库不会像交互式解释器那样将''
添加到sys.path
。使用PySys_SetPath()
添加相应的目录。
哦,嘿,look what I found。
答案 1 :(得分:-1)
我发现这更有效,
PyObject *sys = PyImport_ImportModule("sys");
PyObject *path = PyObject_GetAttrString(sys, "path");
PyList_Append(path, PyUnicode_FromString("."));