如何从Qt C++项目运行Python函数
How to run a Python function from a Qt C++ project?
我遵循了一些教程和建议,我什至使用PyRun_SimpleString
运行了一个函数而没有问题。我有一个名为 tomograph.py
的文件,其中包含我要执行的makeFiles(path,alpha,n,l)
函数,以及我设法运行的my_fun(x)
函数(如前所述(。
这就是我在Qt C++项目中所做的
Py_Initialize();
PyObject* moduleString = PyString_FromString((char*)"tomograph");
PyObject* module = PyImport_Import(moduleString);
PyObject* function = PyObject_GetAttrString(module,(char*)"makeFiles");
PyObject* args = PyTuple_Pack(4,filename,alpha,n,l);
//PyRun_SimpleString("my_fun(5)");
PyObject* myResult = PyObject_CallObject(function,args);
Py_Finalize();
当我运行此代码时,我得到一个分段错误
PyObject* function = PyObject_GetAttrString(module,(char*)"makeFiles");
我做错了什么?
将PYTHONPATH
设置为工作目录并将.py
文件放在构建文件夹中应该可以解决问题:
setenv("PYTHONPATH",".",1);
Py_Initialize();
相关文章:
- IPC使用多个管道和分支进程来运行Python程序
- 是否有可能让 c++ dll 在后台运行 python 程序并让它填充向量图?如果是这样,如何?
- 在C++中运行 python 对象
- 从 c++ 运行 python 脚本时出现问题
- 在 boost::p ython 中的 python 对象中运行 python 代码
- 从 c++ 中运行 python 脚本,找不到模块
- 使用C++,如何在Qt Designer中运行python文件
- 如何从Qt C++项目运行Python函数
- 如何从 c++ 运行 python 程序
- 在构建之前,如何使Cmake在构建之前运行Python脚本,以生成用于构建中的项目的文件
- 使用一个 C 程序运行 python 脚本(不同的 python 版本)
- "Segmentation fault"使用 Cmake 在C++代码中运行 python 函数时
- 运行Python脚本同时嵌入C
- 如何从C++程序运行 python 脚本
- c++运行python代码导入自定义模块
- 使用Python.h在C++中运行Python脚本
- 从C++运行Python(VS2010,编译器v100)
- 如何在c++中运行Python文件
- 在gdb中运行python/c++混合代码
- Eclipse 找不到 libnppc.so.7.0 库来运行 python 代码,其中包含使用 CUDA 库的 Opencv 命令