Структура файла:
Foo/
list.so
main.cpp
list.cpp
boost_wrapper.cpp
main.cpp код:
#include <Python.h>
#include "list.cpp"
int main(int argc, char *argv[]){
PyObject *pimport;
pimport=PyString_FromString("list");
Py_SetProgramName(argv[0]);
Py_Initialize();
PyImport_Import(pimport);
/*PyRun_SimpleString("l=list.LinkedList()");
PyRun_SimpleString("l.insert(\"N\", 9)");
PyRun_SimpleString("l.display()");*/
Py_Finalize();
}
ОШИБКА:
ImportError: No module named list
Однако, если я запускаю python из bash, я могу успешно импортировать модуль и использовать все определенные функции. Я также пытался импортировать, используя только PyRun_SimpleString, но безрезультатно.
Я подозреваю, что текущий рабочий каталог невидим для интерпретатора Python, вызываемого Py_Initialize().
list.cpp
вmain.cpp
? Как вы создалиlist.so
? - person user4815162342   schedule 04.07.2014.
кsys.path
, после чегоPyImport_Import
будет работать. - person user4815162342   schedule 04.07.2014