嵌入式python问题

时间:2017-09-17 13:45:35

标签: python c++

我是Python和嵌入式python的新手。

当尝试从C ++运行一些基本的python命令时,似乎我的一些导入不能用C ++工作,但是当我从python shell运行它们时它们确实有效。

这是我尝试运行的基本说明。

import sys
sys.path.insert(0, 'c:/svapp/')
sys.path.insert(0, 'c:/svapp/test')


from common import baseaccess
from debug.domains.pm import pm_tools

在我的C ++文件中,它看起来像这样:

int main(){

    Py_SetProgramName("myPythonProgram");
    Py_Initialize();
    PyRun_SimpleString("import sys,os");
    PyObject *sys_path = PySys_GetObject("path");

    PyList_Append(sys_path, PyString_FromString("c:\\svapp"));
    PyList_Append(sys_path, PyString_FromString("c:\\svapp\\test"));
    PyObject * commonModule = PyImport_ImportModule("common");
    PyObject * debugDomainsModule = 
    PyImport_ImportModule("debug.domains.pm.pm_tools");

}

常见的模块似乎加载得很好,但是当我尝试加载debug.domains.pm.pm_tools时,似乎导入了一些内部导入。

错误的痕迹以:

结束
  

文件“C:\ Python27 \ lib \ site-packages \ namednodes__init __。py”,第30行,在       来自。导入设置   ImportError:无法导入名称设置

你能指出我正确的方向吗? 为什么这只是通过嵌入式C ++应用程序发生的?

提前感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分:0)

Windows上的

Py_SetPath使用;作为路径分隔符。在其他平台上为:

相关问题