我在 C++中需要调用 Python 写的一些函数,按照步骤我先导入自己写的模块,代码如下:
getcwd(pwd,sizeof(pwd));
setenv("PYTHONPATH", ".:$PYTHONPATH", 0);
Py_Initialize();
PyEval_InitThreads();
PyEval_ReleaseLock();
PyRun_SimpleString("import sys");
sprintf(pyenv,"sys.path.append('%s')",pwd);
PyRun_SimpleString(pyenv);
PyRun_SimpleString("sys.path.append(\".\")");
PyRun_SimpleString("print sys.path");
pModule=PyImport_Import(PyString_FromString("1"));
if (!pModule)
{
printf("import '%s' error\n","1");
}
else
{
printf("import success.\n");
}
可奇怪的是我在 ubuntu 下测试一点问题都没有,模块能导入成功,可是在 Cent OS 下却提示找不到模块,也就是 PyImport_Import() 调用失败,可我看输出的环境变量中是成功添加了模块的搜索路径的,请问这是怎么回事?两个系统安装的都是 Python 2.7.6