0
我用痛飲以生成結束了一些C++代碼一個python模塊一個python模塊:未能導入由痛飲生成到C++
我的.i文件:
%module module_test
%{
#define SWIG_FILE_WITH_INIT
#include "headers.h"
%}
%include "headers.h"
我跑這些命令:
痛飲-C++ -python swig.i
痛飲-Wall -C++ -python -external運行時runtime_swig.h
構建完成後,會生成一個module_test.py和一個_module_test.pyd文件。 包裝工作正常在Python中。現在
,從另一個C++項目中,我試圖加載這個新的Python模塊,使用下面的代碼:
Py_Initialize();
PySys_SetPath(L"path_to_my_files");
PyObject * pName = PyString_FromString("module_test.py");
PyObject *module = PyImport_Import(pName);
if(module == NULL)
{
PyErr_Print();
std::cout << "module == NULL !!";
exit(-1);
}
但是導入失敗,出現錯誤:
import imp
ImportError: No module named 'imp'
能
人請告訴我發生了什麼事?由swig生成的module_test.py文件在代碼中執行「import imp」,但是當我從python運行文件時,此導入永遠不會失敗...... 我是否需要指定其他內容以便C++代碼知道「小鬼「是?
謝謝!
您可能也有興趣http://stackoverflow.com/a/25645539/168175它建立在模塊。 – Flexo