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 도 일단은 존재하는데 말이다..
이녀석을 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 도 일단은 존재하는데 말이다..
'Programming > python(파이썬)' 카테고리의 다른 글
python c/api 관련문서 (0) | 2010.03.25 |
---|---|
python c/api - Py_DECREF (0) | 2010.03.25 |
타겟에서 파이썬 실행시 오류 - Python C/API error with $PYTHONHOME (3) | 2010.03.18 |
*.py *pyc *.pyo 무슨차이? (0) | 2010.03.11 |
python2.6 컴파일 그리고 설치하기 (0) | 2010.03.03 |