QT调用Python脚本运行并打包发布

最近在做一个项目,开发环境用的是QT+C++。项目中有一些算法使用python实现需要混合编译并发布。

准备工作:

1.安装python

2.安装QT

一:编译调试运行

python代码:

# -*- coding: cp936 -*-
#定义hello函数,这个函数的功能是输出“hello world!”
def hello():
    print("hello world!")

QT/C++调用

1. pro文件增加python目录

 2. cpp文件调用

 3.将相关的文件拷贝只运行目录

 

 二:打包发布

1.将python相关文件打包至一个文件夹,这里以python_3.8_64文件夹为例:

  1.1打开python安装目录如下:

        

  1.2 复制文件夹内的所有.dll文件,DLLs,include,Lib,libs 文件夹到第一步新建的python_3.8_64文件夹内,复制好后如下图:

           

2. 将python_3.8_64复制到运行文件夹:

     

3. 修改程序使用自定义的python解释器:

     

 4. 发布QT可执行程序使用windeployqt.

 5.将相关文件拷贝至发布文件夹:

   

 三:进阶使用

        python脚本中导入了其他包情况下,需要将相应的包拷贝复制至运行目录:

       3.1 代码修改:

         搜索目录增加当前目录

         

    3.2 相关的包放置到运行目录:

       

 

 参考:

 https://blog.csdn.net/weixin_31616803/article/details/114976358?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-0&spm=1001.2101.3001.4242

原文地址:https://www.cnblogs.com/henkk/p/14977975.html