最近开发了一款可视化软件平台,初次接触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软件所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)