import 라는 키워드로 python에서는 모듈을 불러온다.
이녀석을 c/api에서 사용하는 방법은 크게 두가지가 있다.

하나는 문자열로 인터프리트 방식으로 import 명령을 실행하는 것과
PyRun_SimpleString("import hashlib");

다른 하나는, __main__ 모듈을 추가하고 그에 원하는 모듈을 import 하는 방식이다.
PyObject * mainModule = PyImport_AddModule("__main__");
PyObject * hashlibModule = PyImport_ImportModule("hashlib");
PyModule_AddObject(mainModule, "hashlib", hashlibModule);

[링크 : http://dmaggot.wordpress.com/2009/12/30/embed-python-and-import-modules-in-cc/]



사족 : 음.. curses 나 hashlib은
/usr/local/lib/python2.6/hashlib.py
/usr/local/lib/python2.6/curses/__init__.py
에 존재해서 위의 방법으로 import가 되지만

gdata(google api)의 경우에는 되지가 않는다. 도대체 머가 문제일까?
/usr/local/lib/python2.6/site-packages/gdata/__init__.py 도 일단은 존재하는데 말이다..

Posted by 구차니