C++ QT调用python脚本并将软件打包发布

编程入门 行业动态 更新时间:2024-10-09 20:26:38

C++ QT调用python脚本<a href=https://www.elefans.com/category/jswz/34/1771306.html style=并将软件打包发布"/>

C++ QT调用python脚本并将软件打包发布

         对我来说主要就是打包的问题比较难解决,弄了一个下午都没解决,不知道是minconda的问题,还是Qt更新的原因,网上的很多解决方法都不行,经过我的一项一项排查,最后发现就是少导了一个文件夹。

        怎么调用python脚本就不详细说了,网上有很多教程,主要说一下打包发布的流程。

打包发布流程:

1.制作python环境文件夹,我软件开发使用的是python3.8。所以新建一个文件夹,命名为 “Python38”。

2.我用的是miniconda,我的miniconda环境目录如下:

3.最关键的一步来了,将minconda环境文件夹内的DLLs、include、Lib、libs、tcl文件夹和所有.Dll文件拷贝到第一步新建的Python38文件夹内,复制好后如下图(网上的解决方法都没有复制tcl文件夹,所以我试了好多方法都运行不了):

 

4.  .在C++代码中使用Py_SetPythonHome 函数指定python库解释器的路径,然后再初始化python编译器,之后就可以调用自己的python代码(网上有很多教程)。

Py_SetPythonHome((wchar_t *)(L"./python38"));//指定python库解释器的路径
Py_Initialize();  //初始化python解释器,告诉编译器要用的python编译器

5.然后创建一个空文件夹作为打包文件夹,将代码生成的QT可执行程序拷贝到打包文件夹下,再使用windeployqt xxx.exe来打包(我用的是visual studio所以用MSVC)

6.最后将你的python3.dll、python38.dll、刚刚制作的Python38文件夹和你要调用的.py文件复制到刚刚的打包文件夹下,最终打包好的文件夹如下:

 ​​​​

 经检验,在其他没有配置环境的计算机上也可以运行此程序。

更多推荐

C++ QT调用python脚本并将软件打包发布

本文发布于:2023-06-17 10:22:54,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/757012.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:并将   脚本   软件   QT   python

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!