2010-06-16 5 views
3

나는 간단한 파이썬 확장 모듈을 만들려고합니다. 내가간단한 파이썬 확장 C로

import transit 
transit.print() 

내가 오류 메시지를 얻을 수 파이썬에서이 전화를하려고

#include <python2.6/Python.h> 

static PyObject* 
_print(PyObject* self, PyObject* args) 
{ 
    return Py_BuildValue("i", 10); 
} 

static PyMethodDef TransitMethods[] = { 
    {"print", _print, METH_VARARGS, ""}, 
    {NULL, NULL, 0, NULL} 
}; 

PyMODINIT_FUNC 
inittransit(void) 
{ 
    Py_InitModule("transit", TransitMethods); 
} 

그러나, transit.so 동적 모듈에 다음 코드를 컴파일

File "test.py", line 2 
    transit.print() 
       ^
SyntaxError: invalid syntax 

뭐가 잘못 내 암호?

답변

4

키워드를 함수 이름으로 사용하는 것과 관련이 있다고 생각합니다. 나는 지금 막 시험을위한 단위에서 기능 print() 정의하는 것을 시도하고 동일한 종류의 과실을 얻었다. 이 함수의 이름을 약간 변경하고 문제가 해결되는지 확인하십시오.

+0

내 문제가 해결되었습니다. 감사! – dzhelil

+0

내가 도울 수있어서 기뻐. –

관련 문제