(vs + qt )c++ 调用 python 问题处理

问题1.PyImport_ImportModule 返回总是null

复制代码
PyObject* pModule = PyImport_ImportModule("test2");

//如果加载失败,则返回
if (!pModule) {
 std::cout << "Why Can't open python file!\n" << std::endl;
 PyErr_Print();
 return ;
}

复制代码

解决:

1.设置当前目录,在调用PyImport_ImportModule  之前

调试时.py 脚本在.vcxproj同级,发布时 在exe同级

    PyRun_SimpleString("import sys");
    QString arg = "sys.path.append('./')";
    QByteArray ba = arg.toLatin1(); // must
    char* chArg = ba.data();
    PyRun_SimpleString(chArg);

想要设置其他目录的话:将./ 换成其他绝对目录,注意不能有空格


 

posted @   noob_zxg  阅读(183)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示