当前位置: 首页 > news >正文

在C++项目中使用python脚本(四种)常见报错解决

上一期我们讲了如何在C++中使用python脚本,这期讲讲过程中常会遇到的一些错误。


一、c++代码未设置python路径


Py_SetPythonHome(L"D:\\anaconda3\\envs\\envpython3.7");这一句很重要,切记加上并且换成自己的路径

Py_SetPythonHome(L"D:\\anaconda3\\envs\\envpython3.7");/**这句语句是在添加python.exe所在路径**/Py_Initialize();//使用python之前,要调用Py_Initialize();这个函数进行初始化if (!Py_IsInitialized()){printf("初始化失败!");return 0;}else {PyRun_SimpleString("import sys");PyRun_SimpleString("sys.path.append('./')");//这一步很重要,设置.py文件的路径PyObject* pModule = NULL;//声明变量PyObject* pFunc = NULL;// 声明变量pModule = PyImport_ImportModule("hello");//这里是要调用的文件名hello.pyif (pModule == NULL){cout << "没找到该Python文件" << endl;}else {pFunc = PyObject_GetAttrString(pModule, "add");//这里是要调用的函数名PyObject* args = Py_BuildValue("(ii)", 28, 103);//给python函数参数赋值PyObject* pRet = PyObject_CallObject(pFunc, args);//调用函数int res = 0;PyArg_Parse(pRet, "i", &res);//转换返回类型cout << "res:" << res << endl;//输出结果}Py_Finalize();//调用Py_Finalize,这个根Py_Initialize相对应的。}

二、.py文件位置不对


我们在代码中设置了PyRun_SimpleString("sys.path.append('./')");,这一步是将.py文件路径设置成了项目路径的当前目录下,所以我们不妨修改路径,或者将hello.py在项目的各个文件夹中多复制几份试试


三、设置成release


切记将构建类型换成release,如果是debug,会报找不到python_d.lib的错误


四、python的位数和visual studio的构建位数不对应


查看python位数,我的是64位,那么就需要检查Visual Studio中是不是用了X86(32位)构建的

依旧是右击项目,然后点击属性,然后点击配置管理器

改成x64平台

然后再在构建中选择Release和x64即可

 

相关文章:

在C++项目中使用python脚本(四种)常见报错解决

上一期我们讲了如何在C中使用python脚本&#xff0c;这期讲讲过程中常会遇到的一些错误。 一、c代码未设置python路径 Py_SetPythonHome(L"D:\\anaconda3\\envs\\envpython3.7");这一句很重要&#xff0c;切记加上并且换成自己的路径 Py_SetPythonHome(L"D:\\a…...

微前端框架 qiankun 配置使用【基于 vue/react脚手架创建项目 】

qiankun官方文档&#xff1a;qiankun - qiankun 一、创建主应用&#xff1a; 这里以 vue 为主应用&#xff0c;vue版本&#xff1a;2.x // 全局安装vue脚手架 npm install -g vue/clivue create main-app 省略 vue 创建项目过程&#xff0c;若不会可以自行百度查阅教程 …...

nodejs切换淘宝源

1. 查看当前地址 npm config get registrynpm config get disturl2. 设置当前地址&#xff08;设置为淘宝镜像&#xff09; npm config set registry http://registry.npm.taobao.org/3. 设置当前地址&#xff08;设置为默认地址&#xff09; npm config set registry https…...

怎么避免电脑数据被拷贝?电脑如何禁用USB功能?

在无纸化办公的今天&#xff0c;很多重要数据都存放在电脑中。为了避免数据泄露&#xff0c;需要采用安全的方式保护电脑数据。那么&#xff0c;该如何避免电脑数据被拷贝呢&#xff1f;下面我们就来了解一下。 方法一&#xff1a;物理隔绝 物理隔绝是一种原始但有效的USB禁用…...

给电脑加硬件的办法 先找电脑支持的接口,再买相同接口的

需求&#xff1a;我硬盘太小&#xff0c;换或加一个大硬盘 结论&#xff1a;接口是NVMe PCIe 3.0 x4 1.找到硬盘型号 主硬盘 三星 MZALQ512HALU-000L2 (512 GB / 固态硬盘) 2.上官网查 或用bing查 非官方渠道信息&#xff0c;不确定。...

uniapp微信小程序_自定义交费逻辑编写

一、首先看最终效果 先说下整体逻辑,选中状态为淡紫色,点击哪个金额,充值页面上就显示多少金额 二、代码 <view class"addMoney"><view class"addMoneyTittle">充值金额</view><view class"selfaddmoney" :class"{…...

论文阅读——RingMo

RingMo: A Remote Sensing Foundation Model With Masked Image Modeling 与自然场景相比&#xff0c;RS图像存在以下困难。 1&#xff09;分辨率和方位范围大&#xff1a;受遥感传感器的影响&#xff0c;图像具有多种空间分辨率。此外&#xff0c;与自然图像的实例通常由于重…...

Hadoop,Hive 数据预处理CR

记录一次大材小用,我在将.csv电影数据集 电影json数据 导入MySQL时,出现了报错: 很明显,意味着.csv中的数据有非utf8编码的, 尝试使用file查看了下.csv文件的编码格式: 如果不确定原始编码,可以先用file命令尝试检测一下: file -i input.csv该命令会显示文件的MIME类型…...

小程序开发——获取设备信息 API(三)

ty.device.getShareDeviceInfo 获取共享设备信息 需引入DeviceKit&#xff0c;且在>2.2.0版本才可使用 请求参数 Object object 属性类型默认值必填说明deviceIdstring是deviceId 设备 idcompletefunction否接口调用结束的回调函数&#xff08;调用成功、失败都会执行&am…...

Vue2 + node.js项目

1、Vue2 vue2主要功能包括登入、退出、用户权限、表格的增删改查、文件下载。 Vue2项目地址https://gitee.com/www6/finance1.git 2、node.js编写后端接口 2.1、项目初始化 后端地址https://gitee.com/www6/finance-backend.git 创建项目 npm install -g koa-generator …...

如何使用IDE端通义灵码

如何使用IDE端通义灵码 第一步&#xff1a;安装IDE插件&#xff08; VS Code 和 JetBrains 二选一&#xff09; 如何下载安装VS Code &#xff1a;https://code.visualstudio.com 如何下载安装JetBrains&#xff1a;https://www.jetbrains.com/idea/download 第二步&#x…...

微服务分布式springcloud的体育场地预约系统演kdm1z

体育场馆设施预约系统是在实际应用和软件工程的开发原理之上&#xff0c;运用java语言以及Springcloud框架进行开发。首先要进行需求分析&#xff0c;分析出体育场馆设施预约系统的主要功能&#xff0c;然后设计了系统结构。整体设计包括系统的功能、系统总体结构、系统数据结构…...

IDEA开启Run Dashboard

1、Run Dashboard是什么&#xff0c;为什么要使用 Run Dashboard 是 IntelliJ IDEA 中的一个工具窗口&#xff0c;用于管理和监视项目中正在运行的应用程序和配置。它提供了一种集中管理运行和调试过程的方式&#xff0c;可以让开发人员更方便地查看和控制正在运行的应用程序。…...

小程序学习3 goods-card

pages/home/home home.wxml <goods-listwr-class"goods-list-container"goodsList"{{goodsList}}"bind:click"goodListClickHandle"bind:addcart"goodListAddCartHandle"/> <goods-list>是一个自定义组件&#xff0c;它具…...

【投稿优惠-EI稳定检索】2024年图像处理与机械系统工程国际学术会议 (ICIPMSE 2024)

【投稿优惠-EI稳定检索】2024年图像处理与机械系统工程国际学术会议 (ICIPMSE 2024) 大会主题: (主题包括但不限于, 更多主题请咨询会务组苏老师) 图像处理 基于图像的渲染 计算机视觉 可视化分析 模式识别 3D打印 渲染和动画 渲染技术 电脑动画 基于草图的建模 机械…...

Linux系列

安装系列 1.MySQL安装 我们要通过rpm&#xff0c;进行MySQL数据库的安装&#xff0c;主要的步骤如下&#xff1a; rpm -qa 查询当前系统中安装的所有软件 rpm -qa | grep mysql 查询当前系统中安装的名称带mysql的软件 rpm -…...

SQL笔记 -- 黑马程序员

SQL目录 文章目录 SQL目录一、SQL分类1、DDL2、数据类型3、DML4、DQL1&#xff09;基本查询2&#xff09;条件查询3&#xff09;聚合函数查询4&#xff09;分组查询5&#xff09;排序查询6&#xff09;分页查询 5、DCL 一、SQL分类 分类说明DDL数据定义语言&#xff0c;用来定…...

C# MES通信从入门到精通(1)——串口传输文件

前言: 在上位机软件开发领域,有一些工厂的mes系统需要我们通过串口发送文件的方式把一些图片或者检测数据csv文件等发送给服务器,这种方式是一些比较旧的工厂采用的方式,但是这种方式也是存在的,本文就是讲解如何使用串口发送文件详情见下文。 1、串口发送文件思路 将需…...

论文阅读-federated unlearning via class-discriminative pruning

论文阅读-federated unlearning via class-discriminative pruning FUCP 通过类别区分性剪枝进行联邦遗忘 综述中描述&#xff1a;属于面向全局模型中的局部参数调整 利用卷积层的结构特定进行联邦忘却学习&#xff0c;wang等人提出了针对图像分类任务的联邦忘却学习算法FUCP&…...

研发效能DevOps: OpenEuler 部署 drone 持续集成平台

目录 一、实验 1.环境 2.OpenEuler 部署 drone 持续集成平台 二、问题 1.drone登录失败 一、实验 1.环境 &#xff08;1&#xff09;主机 表1 主机 系统架构版本IP备注LinuxopenEuler22.03 LTS SP2 192.168.204.145&#xff08;动态&#xff09; 192.168.204.141&…...

技术债务管理:如何与产品经理就“还债”达成共识?

在追求快速迭代和功能交付的软件开发浪潮中&#xff0c;技术债务如同潜伏在系统深处的“慢性病”&#xff0c;悄然累积&#xff0c;最终可能引发系统脆弱、交付迟滞、团队士气低落等一系列并发症。对于软件测试从业者而言&#xff0c;技术债务带来的影响尤为直接&#xff1a;测…...

效率倍增:用快马生成万文通核心文本处理模块,告别重复编码

效率倍增&#xff1a;用快马生成万文通核心文本处理模块&#xff0c;告别重复编码 最近在开发一个多语言文本处理工具"万文通"&#xff0c;需要频繁实现翻译、摘要和关键词提取功能。每次从零开始写这些基础模块太耗时&#xff0c;于是我尝试用InsCode(快马)平台快速…...

手把手教你用HuggingFace+BGE模型搭建本地向量检索系统(附FAISS实战代码)

从零构建基于BGE模型的本地语义搜索系统&#xff1a;代码级实践指南 在信息爆炸的时代&#xff0c;如何快速从海量文本中精准找到相关内容&#xff1f;语义搜索技术正成为解决这一痛点的利器。不同于传统的关键词匹配&#xff0c;语义搜索能理解查询背后的意图&#xff0c;找到…...

AI辅助开发:用自然语言描述需求,让快马平台自动生成精准的Copaw自动化脚本

AI辅助开发&#xff1a;用自然语言描述需求&#xff0c;让快马平台自动生成精准的Copaw自动化脚本 最近在做一个自动化测试项目&#xff0c;需要大量使用Copaw框架来模拟用户操作。作为一个刚接触Copaw的新手&#xff0c;最头疼的就是要花大量时间研究各种API和页面元素定位方…...

黑丝空姐-造相Z-Turbo场景应用:为你的内容创作提供无限灵感

黑丝空姐-造相Z-Turbo场景应用&#xff1a;为你的内容创作提供无限灵感 1. 镜像概述与核心能力 黑丝空姐-造相Z-Turbo是一款基于Xinference部署的文生图模型服务&#xff0c;通过gradio提供直观的交互界面。该镜像专注于生成特定风格的视觉内容&#xff0c;为创意工作者提供高…...

告别直播回放获取难题!用douyin-downloader实现高效内容管理的3个创新方法

告别直播回放获取难题&#xff01;用douyin-downloader实现高效内容管理的3个创新方法 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and bro…...

Phi-4-mini-reasoning开源镜像实操:无需conda/pip,开箱即用推理环境

Phi-4-mini-reasoning开源镜像实操&#xff1a;无需conda/pip&#xff0c;开箱即用推理环境 1. 模型简介 Phi-4-mini-reasoning 是一个基于合成数据构建的轻量级开源模型&#xff0c;专注于高质量、密集推理的数据处理能力。作为Phi-4模型家族的一员&#xff0c;它经过专门微…...

汽车电子电气架构演进:从分布式 ECU 到中央计算平台

目录 一、电子电气架构的六大演进阶段 二、高性能处理器与软件平台重构 三、宝马分层式电子电气架构设计 四、中央通信服务器与可扩展网络 五、车云一体架构与软件开发变革 六、架构升级代码示例&#xff1a;SOA 服务注册与调用 七、中央计算平台配置示例&#xff08;代码…...

VBA UserForm控件交互实战:跨窗体数据传递与动态更新

1. UserForm基础与跨窗体数据传递原理 刚接触VBA UserForm时&#xff0c;我经常被各种控件的交互问题困扰。特别是当需要多个窗体协同工作时&#xff0c;数据传递就成了大难题。记得有次做订单管理系统&#xff0c;主窗体收集客户信息&#xff0c;子窗体处理产品明细&#xff0…...

终极指南:InvokeAI模型缓存优化技术 - 让AI绘图既快速又省内存

终极指南&#xff1a;InvokeAI模型缓存优化技术 - 让AI绘图既快速又省内存 【免费下载链接】InvokeAI Invoke is a leading creative engine for Stable Diffusion models, empowering professionals, artists, and enthusiasts to generate and create visual media using the…...