在包含所有依赖项的c程序中嵌入python
我正在编写一个c应用程序,它将允许我在其中嵌入python模块。python模块负责通过rpyc库在远程机器上启动对python代码的远程过程调用。我的python模块将位于应用程序运行的同一位置。我假设我的c应用程序将在没有所需python库的机器上运行,例如rpyc。我想知道,在发布代码时,是否有一种方法可以将所有依赖项与模块捆绑在一起 我已经使用cython将python模块编译为.pyd,但这仍然需要安装所需的python库 我的c代码在包含所有依赖项的c程序中嵌入python,python,c,Python,C,我正在编写一个c应用程序,它将允许我在其中嵌入python模块。python模块负责通过rpyc库在远程机器上启动对python代码的远程过程调用。我的python模块将位于应用程序运行的同一位置。我假设我的c应用程序将在没有所需python库的机器上运行,例如rpyc。我想知道,在发布代码时,是否有一种方法可以将所有依赖项与模块捆绑在一起 我已经使用cython将python模块编译为.pyd,但这仍然需要安装所需的python库 我的c代码 int main(){ int argc
int main(){
int argc = 2;
wchar_t* argv[] = { (wchar_t *)"mypythonmodule", (wchar_t *)"-h", NULL };
const char *module = argv[0];
PyObject *pName, *pModule, *pFunc;
PyObject *pArgs, *pValue;
Py_Initialize();
pName = PyUnicode_DecodeFSDefault(module);
pModule = PyImport_Import(pName);
Py_DECREF(pName);
if (pModule != NULL) {
pArgs = PyTuple_New(argc);
for (int i = 0; i < argc; i++) {
pValue = PyUnicode_FromString(argv[i]);
PyTuple_SetItem(pArgs, i, pValue);
}
pFunc = PyObject_GetAttrString(pModule, "parse_args");
PyObject_CallObject(pFunc, pArgs);
Py_DECREF(pFunc);
Py_DECREF(pArgs);
//Py_DECREF(pValue);
Py_Finalize();
}
}
intmain(){
int argc=2;
wchar_t*argv[]={(wchar_t*)“mypythonmodule”,(wchar_t*)“-h”,NULL};
常量字符*模块=argv[0];
PyObject*pName、*pModule、*pFunc;
PyObject*pArgs,*pValue;
Py_初始化();
pName=PyUnicode\u decodefsfdefault(模块);
pModule=PyImport\u Import(pName);
Py_DECREF(pName);
if(pModule!=NULL){
pArgs=PyTuple_New(argc);
对于(int i=0;i