打包发布qt+python软件

打包发布qt+python软件,第1张

概述最近开发了一款可视化软件平台,初次接触Qt,在这里简单记录一下软件(Qt+Python)的打包过程。对于qt的依赖库,qt提供了windeployqt.exe来进行打包,具体用法如下:1.首先创建一个空文件夹,将编译好的MyPlatform.exe拷贝到该目录下;2.启动cmd,cd到该空文件夹路径,执行以下打包命令:D:\Program

最近开发了一款可视化软件平台,初次接触Qt,在这里简单记录一下软件(Qt+Python)的打包过程。

对于qt的依赖库,qt提供了windeployqt.exe来进行打包,具体用法如下:

1.首先创建一个空文件夹,将编译好的MyPlatform.exe拷贝到该目录下;

2.启动cmd,cd到该空文件夹路径,执行以下打包命令:

D:\Programs\Qt\qt5.12.1.12.1\msvc2017_64\bin\windeployqt MyPlatform.exe

3.至此,qt的依赖库打包完成,但是 windeployqt.exe并不能解决其它库的依赖。

由于我的软件在C++中嵌入了python,因此,接下来继续对python的依赖进行打包:

0.首先,我尝试了pyinstaller打包方式,实际情况是它并不能很好的解决“C++嵌入python”的python依赖问题,而且它并不能很好的找全所有依赖库,比如可能会缺少numpy的依赖,可以通过以下方式解决该问题:

D:\Programs\Python\Scripts\pyinstaller cppInterface.py --hIDden-import numpy

1.接下来讲解正确的打包方式,第一步,切换到python的安装目录,拷贝以下文件夹和dll到一个空的文件夹“python37”:

2.将“python37”文件夹拷贝到可执行程序路径下,并修改软件平台源码,在Py_Initialize前使用Py_SetPythonHome设置python的home路径:

Py_SetPythonHome((wchar_t *)(L"./python37"));Py_Initialize();//Todo://...Py_Finalize();

3.重新编译软件平台源码,拷贝exe文件和python37文件夹,以及其它依赖库的DLL到安装路径;

4.拷贝python37文件夹里的python37.dll到可执行程序目录;

5.打包完成。

总结

以上是内存溢出为你收集整理的打包发布qt+python软件全部内容,希望文章能够帮你解决打包发布qt+python软件所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1185296.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存