C++代码中嵌入Python之后程序的发布问题

c++调用python接口打包_在QT C++中调用 Python并将软件打包发布(裸机可运行) 为了提高工作效率,需要一个可以自动生成多份相关联的word文档免去繁琐复制粘贴工作的软件。最后选定使用QT C++做界面和主要逻辑程序设计,对word的操作使用python写好对应的函数,然后在QT中调用自己写好的python函数完成相应的功能。由于这是第一次使用python 也是第一次将python嵌入QT中使用所以心中有以下几个疑虑:1.Python是如何操作word文档的2.QT中如何使用P... 阅读详情

一个很简单的程序:

 

 

运行没问题。但我拿到一个XP环境下始终无法运行(XP是虚拟机中的,除了驱动什么都没装,是MSDN版的)。我已经在XP下安装了VC2005运行库,把python26.dll、boost_python-vc80-mt-1_39.dll、boost_python-vc80-mt-gd-1_39.dll都拷贝到程序所在的目录了还是不行。程序是Release发布的。一运行就提示:

应用程序正常初始化(0xc0150002)失败。请单击“确定”,终止应用程序。


google了半天无果。

 

今天上午我在xp下运行了一个py2exe打包的python程序,因为它是for2.6的,所以要安装VC2008的运行库,回头再运行了一下昨天这个C++的小程序居然行了。

不过还是有错误。然后我把py2exe打包后dist的东西都拷了进来,再把Library.zip解压出来,运行就成功了!我又在C++里面用Python访问了数据库,运行同样没问题!

看来以后嵌入Python的C++程序最好不用VC8写,就用纯C++吧。

 

PS: 如果是用py2exe打包的,发布时手动把vs2008下的redist/x86/Microsoft.VC90.CRT 下面的四个文件都copy到py2exe打包生成的dist目录下,就可以直接copy dist目录到任意未安装python或08运行库的环境下运行了。

Python如何嵌入C/C++进行开发? 如果你想把Python嵌入C/C++中是比较简单的事情,你需要的是在VC中添加Python的include文件目录和lib文件目录。下面我们来看下如何把Python嵌入C/C++中。 VC6.0下,打开 tools->options->directories->show directories for,将Python安装目录下的inlude目录添加到inlude files项中... 阅读详情

相关推荐

Qt C++与Python混合开发:从PyBind11调用到打包发布的完整指南

在桌面应用开发中,C++因其高性能和系统级控制能力,常被用于构建核心框架和用户界面。而Python凭借其丰富的生态库和快速开发特性,在数据处理、机器学习等领域占据优势。通过混合编程技术,开发者可以在C++应用中嵌入Python解释器,实现两种语言的优势互补,从而扩展应用功能边界,例如在Qt界面中集成Python的数据分析或AI模型。PyBind11作为现代C++/Python绑定库,通过自动类型转换和引用计数管理,极大简化了跨语言调用流程,提升了开发效率。这种架构模式尤其适用于需要结合高性能界面与快速算法迭

weixin_30421809的博客 466

嵌入python的c++程序发布(一)最简单的方法

发布纯python的程序可以使用现有的工具,如py2exe,bbFreeze。但我不知道能否打包嵌入python的C++程序,另外需要注意的是py2exe目前不支持2.6以后的新版本,bbFreeze貌似还依赖其他库。         下面介绍下我这几天搜索的一个简单的解决方案:         以我电脑上安装的python27为例,将python27目录下的dlls和lib文件夹下的文件拷贝

游蓝海 的专栏 6288

C++集成matplotlibcpp绘图库完整配置与独立发布实战

不要在业务代码里到处写,而是封装一层:public:这样未来想换QtCharts或WebGL也很容易。回过头来看,不仅仅是一个绘图库,它是C++生态向Python科学计算世界敞开的一扇门。我们可以保留C++的性能优势,同时享受Python在可视化、AI、数据分析方面的强大工具链。这种“混合编程”模式正在成为现代工程项目的标配。只要掌握好环境配置、异常处理、静态打包这几项关键技术,你就能轻松驾驭这套系统,在科研、工业、教育等各种场景中游刃有余。

weixin_30653091的博客 761

C++嵌入Python解释器

Python作为可以扩展的编程语言,提供了完整的Python/C API,用于扩展Python程序的功能。一方面是使用API编写Python程序模块在Python脚本中使用,另一方面是在C/C++中嵌入Python,从而实现C/C++调用Python程序。C++嵌入Python解释器就是在c++程序中创建一个python解释器,并通过api让解释器去执行python代码。使用嵌入解释器有配置解释器、初始化、执行语句、加载模块、调用函数等过程,这些过程全部都是python提供的API操作。

qq_30386941的博客 3116

ICG cell如何通过Latch结构消除与门clock gating中的glitch?

本文深入解析了ICG Cell如何利用Latch结构解决传统与门时钟门控中的毛刺问题。通过将电平敏感锁存器与门控与门结合,ICG Cell将使能信号的变化严格限制在时钟低电平的安全窗口内采样和锁存,从而在时钟有效沿期间提供稳定的控制信号,从根本上消除了因信号延迟不同步而产生的glitch,确保了门控时钟的纯净与电路功能的可靠性。

weixin_29234423的博客 472

基于ProXmoX VE的虚拟化家庭服务器(篇一)—ProXmoX VE 安装及基础配置

ProxmoxVE是一款套开源的虚拟化管理软件,用户可通过网页的方式来管理服务器上使用kvm以及lxc技术运行的虚拟机。同时提供了一些先进功能的支持,如集群、HA等。PVE虽然是开源,却是由一个商业公司在运营、更新以及维护。...

隔壁老瓦的专栏 6321

运行打包python程序时报:无法启动此程序,因为计算机中丢失 api-ms-win-core-path-l1-1-0.dll 尝试重新安装该程序以解决此问题。

运行自己事先打包好的python可执行文件时,windows提示错误。

m0_46078095的博客 9107

【Allegro学习笔记】常规标贴封装创建-0402封装创建实例

摘要 本文主要介绍如何使用Allegro制作表面贴装封装。 所使用的软件 使用Allegro制作常规贴片封装主要使用的软件有Pad Designer和Allegro 1 0402类封装制作 1.1 0402类封装焊盘分析 0402封装尺寸图如图1...

Honglong 1万+

成功解决:python打包成的exe文件,在电脑中打不开

使用pyinstaller命令打包.py文件,打包出的exe文件运行不了,提示“**此应用无法在你的电脑上运行。**”

ningqingzy的博客 8018

别再只用GPS了!用Android手机传感器实现室内步行轨迹记录(避坑指南)

本文详细介绍了如何利用Android手机传感器(如加速度计、陀螺仪和磁力计)实现室内步行轨迹记录,克服GPS在室内的局限性。通过传感器数据采集、步态检测、航向估计和轨迹绘制等步骤,结合避坑指南和优化技巧,帮助开发者高效构建室内定位应用。

weixin_26821003的博客 274

【VS Code+Verilog+Vivado使用】(1)常用插件

VS Code + Verilog + Vivado联合使用说明

XDUryan的博客 5640

python c++情侣网名是什么意思_c++中嵌入python 看什么意思

展开全部1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011...

weixin_39965881的博客 208

【学习笔记】人群归因分数 PAF 以及combined PAF

人群归因风险比例(Population Attributable Fraction,PAF)是一个流行病学指标,它估计了在总体中,如果能消除一个特定的危险因素,能预防多少百分比的疾病或健康结果。简单来说,PAF回答的是:“如果没有这个风险因素,总体中会有多少病例是可以避免的?

weixin_53499537的博客 4905

嵌入python的c++程序发布(二)最小化抽取需要的模块

前面介绍了一种最笨的方式,他的缺点就是冗余太多,浪费空间太大。     今天介绍一种优化方法,仅抽取程序中用到的部分。     要下班了,先贴上实现代码,改天有空再补上原理。 #-*- coding:gbk -*- import sys import os import shutil #获得程序中所有模块的路径 def getModulesPath() : lst = [] #s

游蓝海 的专栏 5560

头歌操作系统 课后作业4.3:段页式内存管理 答案 无解析

头歌操作系统 课后作业4.3:段页式内存管理 答案 无解析

kercii的博客 7385

小红书urlscheme和Activity

本文档详细介绍了小红书App的Deeplink跳转规范,涵盖了多个功能模块的跳转协议。主要内容包括:主页各Tab(关注、发现、购买)的跳转方式;不同类型笔记(图文/视频/长笔记)的详情页跳转参数;用户相关页面(主页/绑定/资料/消息等)的跳转协议;搜索功能(输入页/结果页)的跳转方式;以及话题、标签、专辑、H5页面等特殊场景的跳转实现。文档还提供了各跳转协议所需的参数说明,包括参数类型、默认值、是否必填等详细信息,并标注了不同版本和平台的兼容性要求。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 786

Boost.Python教程:嵌入,从c/c++中调用python代码

使用解释器 到现在为止,您应该知道如何使用Boost.Python从Python调用C ++代码。但是,有时您可能需要反过来:从C ++端调用Python代码。这需要您将Python解释器嵌入到C ++程序中。 目前,Boost.Python并不直接支持嵌入时您需要的所有内容。因此,您需要使用Python / C API填补空白。但是,Boost.Python已经使嵌入变得更加容易,...

xinqingwuji的博客 3030

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Qt C++中调用python,并将软件打包发布,python含第三方依赖

工作中遇到qt c++调用我的python 代码,并且想要一键打包,这里我根据参考的以及个人实践的结果来简单实现一下。环境:windows系统,QT Creater 4.5, python 3.8(anaconda虚拟环境)

航院小将的博客 9763

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

C++代码中嵌入Python

一个很简单的程序:   view plaincopy to clipboardprint? #include "boost/python.hpp"     int _tmain(int argc, _TCHAR* argv[])  {      Py

LEE的专栏 1335

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Qt C++程序嵌入python解释器的代码摘录

我直接在Qt的例子程序textedit里面增加代码。 CPython C API的文档非常晦涩,而且没有好的教程。API的解释不容易看懂,也没有例子辅助理解。看了很多文章,终于成功嵌入python解释器,并增加自定义模块。由于TextEdit类并没有什么值得暴露的方法和属性,我选择了向python添加QTextEdit的append方法。 由于windows下CPython使用特定版本的Visual Studio,所以写扩展模块是必须选择与CPython编译时同样的Visual Studio 版本。 CPy

deping_chen的专栏 1479

在C/C++中嵌入Python

8.2  在C/C++中嵌入Python在C/C++中嵌入Python,可以使用Python提供的强大功能,通过嵌入Python可以替代动态链接库形式的接口,这样可以方便地根据需要修改脚本代码,而不用重新编译链接二进制的动态链接库。8.2.1  高层次嵌入Python使用Python/C API可以在较高层次上嵌入Python。所谓的高层次嵌入主要是指程序与脚本间没有交互。在VC++ 6.0中

XRZEngine的专栏 1403

C++嵌入Python踩坑日记

解决方法:不使用Py_Finalize()、Py_DECREF等一系列释放函数,即可重复调用。这个地方我也大为不解,官方给的例程可能在Py_DECREF()后存在阻塞等问题,在删除了释放函数之后,即可用外部接口重复调用。本人代码嵌入调用跑了100000次(用时10h)后,在任务管理器中无内存泄漏,也不清楚这个释放函数的具体意义,如要深究可能得看源码。

m0_57170837的博客 1180

python可以嵌入c语言吗_Python嵌入C/C++进行开发详解

如果你想把Python嵌入C/C++中是比较简单的事情,你需要的是在VC中添加Python的include文件目录和lib文件目录。下面我们来看下如何把Python嵌入C/C++中。VC6.0下,打开 tools->options->directories->show directories for,将Python安装目录下的inlude目录添加到inlude files项中,将...

weixin_39817347的博客 1098

Python如何嵌入C/C++进行开发

如果你想把Python嵌入C/C++中是比较简单的事情,你需要的是在VC中添加Python的include文件目录和lib文件目录。下面我们来看下如何把Python嵌入C/C++中。 VC6.0下,打开 tools->options->directories->show directories for,将Python安装目录下的inlude目录添加到inlude files项中,将libs目录添加到library files项中。 VC2005下,打开tools->options-&

Alex 1541

Python调用C++程序的几种方法

Python调用C++程序的几种方法 转载 ZONG_XP 最后发布于2018-07-20 15:43:58 阅读数 14826 收藏 展开 参考:https://www.jb51.net/article/104159.htm 0 前言 大家都知道Python的优点是开发效率高,使用方便,C++则是运行效率高,这两者可以相辅相成,不管是在Python项目中嵌入C++代码,或是在C++项目中用Pyt...

啸风 1072

python嵌入c开发板_Python嵌入C/C++进行开发详解

如果你想把Python嵌入C/C++中是比较简单的事情,你需要的是在VC中添加Python的include文件目录和lib文件目录。下面我们来看下如何把Python嵌入C/C++中。VC6.0下,打开 tools->options->directories->show directories for,将Python安装目录下的inlude目录添加到inlude files项中,将...

weixin_39984403的博客 238
上一篇: 一个判断相乘是否溢出的小例子
下一篇: Python装饰器学习
thy38
博客等级 码龄19年 184粉丝 116原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值