python - 在包含所有依赖项的 ac 程序中嵌入 python
问题描述
我正在编写 ac 应用程序,它可以让我在其中嵌入 python 模块。python模块负责通过rpyc库在远程机器上启动对python代码的远程过程调用。我的 python 模块将位于运行应用程序的同一位置。我假设我的 c 应用程序将在没有所需 python 库(例如 rpyc)的机器上运行。我想知道当我发布代码以进行分发时,是否有一种方法可以将所有依赖项与我的模块捆绑在一起。
我已经使用 cython 将 python 模块编译为 .pyd ,但这仍然需要安装所需的 python 库。
我的c代码;
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();
}
}
解决方案
推荐阅读
- php - 如果客户从未购买过,请将产品添加到购物车 - 代码不起作用
- postgresql - 在图中查找连接边
- mongodb - IBM Cloud 上的一个 ASP.Net 应用程序 - 一个或多个 MongoDB?
- javascript - 如何修复函数图不显示导数
- flutter - 从子级更新父级 Swiper 的索引
- mysql - express+mysql无法登录,注册成功
- r - 如何为包含列表中数值的任何行子集数据框?
- python - 为什么在类上设置描述符会覆盖描述符?
- java - 使用 Swagger 将创建的日期时间添加到 REST API
- bootstrap-4 - 如何在不更改列宽的情况下将输入字段放在表头上?