2013-02-24 3 views
-1

C에서 간단한 파이썬 인터프리터 중 가장 단순한 것은 다음과 같습니다. C로 하드 코딩 된 엔진의 스크립팅 언어로 .py 파일을 사용하고 싶습니다. (python27.dll/lib로)이 코드를 실행하면됩니다. 파이썬과 함께 기계에서 잘.임베디드 파이썬 모듈 가져 오기 오류

#pragma comment(lib,"python27.lib") 
#include <Python27/Python.h> 

static PyObject* emb_numargs(PyObject *self, PyObject *args) 
{ 
    if(!PyArg_ParseTuple(args, ":numargs")) 
     return NULL; 
    return Py_BuildValue("i", 1); 
} 

static PyMethodDef EmbMethods[] = { 
    {"numargs", emb_numargs, METH_VARARGS, 
    "Return 1 you dumb person."}, 
    {NULL, NULL, 0, NULL} 
}; 




    int main(int argc, char *argv[]) 
{ 
    FILE *fp; 
    Py_SetProgramName(argv[0]); /* optional but recommended */ 
    Py_Initialize(); 



    { 
    int i; 
     PyObject* sys = PyImport_ImportModule("sys"); 
    PyObject* path = PyObject_GetAttrString(sys, "path"); 

    // Add current project path to sys.path 
    PyList_Append(path, PyString_FromString(".")); 
    for (i = 0; i < PyList_Size(path); i++) 
    { 
    PyString_AsString(PyList_GetItem(path, i)); 
    } 
    Py_DECREF(sys); 
    } 

    Py_InitModule("emb", EmbMethods); 


    fp = fopen("a.py", "r"); 
    PyRun_SimpleFile(fp, "a.py"); 

    Py_Finalize(); 

    system("pause"); 
    return 0; 
} 

(a.py은 emb.numargs를 호출) 문제는, 내가 ImportError를 것을 얻을 때 포트 설치 파이썬없이 컴퓨터에 실행 : 없음 모듈 이름이 지정된 사이트를. PYTHONPATH 설정과 관련하여 조언이 있지만 ID가 작동하지 않습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

답변

0

좋아요, 문제는 파이썬 메인 폴더에서 실행 파일과 함께 Lib 폴더를 배포해야한다는 거짓말입니다.