我正在尝试使用Python.h
. 因为这个C++程序可以安装(make install
) in /usr/bin
,所以它需要能够在它自己的目录(如果它没有安装)或 PATH 环境变量的目录之一中找到 Python 脚本。
我试过做:
PyObject *pName = PyString_FromString(scriptName); // scriptName is "file.py" as a char*
PyRun_SimpleString("import sys");
PyRun_SimpleString("sys.path.append(\".\")");
PyObject *pModule = PyImport_Import(name); // not working because absolute path only
//since Python 2.7 ?
和
PyRun_SimpleString("import sys");
PyRun_SimpleString("sys.path.append(\".\")");
PyObject *pModule = PyImport_ImportModuleEx(scriptName, NULL, NULL, NULL);
但两者都留给我pModule == NULL
在这个调用之后,两者都让我留下了,但如果我从它自己的目录运行 C++ 模块,它们就可以工作。
非常感谢你的帮助