不安装Python的情况下用C++调用Python

C++调用Python(不安装Python) 一. 你的Python代码 创建文件Test001.py 代码如下: #-*- coding:utf-8 -*- def HelloWorld(): print "Hello World" def Add(a, b): return a + b def TestDictionary(dict): print dict dict["Size 阅读详情

想在不安装python的情况下调用它,网上说的方法都不太详细,就连官方给的chm文件也没提及怎么配置,摸索了下,找到了简单调用的办法。记录下。

0.编译条件

MSVS 2010 C++ console程序
Python 2.7

1.需要的文件及文件夹

include文件夹
libs文件夹
Lib文件夹
Python27.dll文件

上面前3个文件夹可以从其他安装好Python的根目录里取得,dll文件从system文件夹里考出来。这里打包提供下本站下载

2.VC工程配置


  1. 新建控制台项目PyTest,解压缩上面的文件夹放在.h.cpp目录处;
  2. 由于没有Debug下的dll,这里只能配置release的工程;

工程-属性-VC++ Directories-Include Directories添加$(ProjectDir)python27\include
工程-属性-VC++ Directories-Library Directories添加$(ProjectDir)python27\libs
释放Python27.dll到Release目录

3. 添加代码

// PyTest.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <iostream>
#include <direct.h>
#include <windows.h>  
#include <string.h>
#include "python.h"

using namespace std;

int _tmain(int argc, char* argv[])
{
    char   buffer[MAX_PATH];   
    _getcwd(buffer, MAX_PATH); 
    cout<<buffer<<endl;
    strncat_s(buffer,"\\Python27",9);//Python模块路径
    Py_SetPythonHome(buffer);
    Py_SetProgramName(argv[0]);  /* optional but recommended */ 

    Py_Initialize();

    PyRun_SimpleString("from time import time,ctime\n"
        "print 'Today is',ctime(time())\n");
    Py_Finalize();

    system("pause");


    return 0;
}

4.编译连接运行得到结果

显示当前日期时间

C++通过内嵌解释器调用Python及间接调用Python三方库 C++通过内嵌解释器调用Python及间接调用Python三方库1.移植Python解释器Python环境的目录结构路径详解2.VS配置(VS2017为例,此教程与VS版本无关)3.C++调用程序样例4.被调Python程序样例 本文章目的是脱离安装Python环境的前提下,由C++程序调用Python程序及Python相关三方库 1.移植Python解释器 Python环境的目录结构 路径详解... 阅读详情

相关推荐

Visual Studio 2022 C++ 调用matplotlib-cpp 绘图

利用matplotlib-cpp在Visual Studio 2022中绘图

sdc_sh的专栏 4191

C++调用py文件打包发布(不安装python环境运行)

C++调用py文件代码参考如下: https://blog.youkuaiyun.com/qq_34510308/article/details/82347537 安装Python的打包工具(Pyinstaller、py2exe)如何打包参考如下: https://blog.youkuaiyun.com/qq_34654240/article/details/78646982 打包C++成exe(本人用的QT...

ANDY 8914

vs2010中C++调用python脚本并制作安装包

一、 准备工作 1. 安装visual studio 210。 2. 安装python编译环境,笔者版本为2.7.2。 3. 安装py2exe,用于给编写好的python打包。 二、编写python脚本程序 以下程序为笔者为学校的bbs写的登陆脚本LilyLogin.py,输入为用户名和密码,返回一段cookie字符串: import httplib,urllib import r

Code my world 1万+

C++调用Python

上述图片呈现了在文件夹pylibraries中加入了头文件Python.h(在include中)和库文件python311.lib(在lib中),pyhon文件夹中所有文件均可在Python的安装路径中得到。红框中的路径是之前放入pylibraries文件夹中的,复制过来就好了。确定之后就配置成功了。为了方便,我们在c++项目同一目录中创建文件夹scrits,用于存放需要调用的py文件。红框中的路径是之前放入pylibraries文件夹中的,复制过来就好了。2.在c++程序中调用demo.py,代码如下。

王也校长的诗 301

C++调用python

本文以实例code讲解 C++ 调用 python 的方法。 本文在util.h中实现三个函数: 1. init_log: 用google log(glog)初始化log 2. exe_command: 由 C++ 执行 shell code 3. exe_py: C++调用python文件Code:include/util.h:/****************

Rachel Zhang的专栏 1万+

C++调用Python(需要安装Python)

 一. 安装Python2.7.9 1. next, next, ... 配置好环境变量 2. 安装后, xxxx\Python27下有include和libs目录, C++需要包含这些东西, 按自己喜欢的方式添加到C++工程即可. 二. 你的Python代码 创建文件Test001.py 代码如下: #-*- coding:utf-8 -*- def He

cay22的专栏 2413

C++ 调用 Python模块

文章目录环境步骤1、引入头文件和库2、测试脚本3、调用Python脚本4、传递参数及返回结果5、打包运行6、Python与C++类型转换 环境 VS2013 Python27_x86 步骤 1、引入头文件和库 将Python安装目录下的include和libs文件夹引入到项目中 将libs目录下的python27.lib复制一份为python27_d.lib 2、测试脚本 Python脚本如下 d...

云谁之殇的专栏 704

C++调用python,免安装python环境运行

C++调用python的示例工程(免安装python环境),里面包含使用说明的文档描述等。

Python调用C++

python被称为胶水语言,其优势是能够粘结各种不同的语言。同时,python有着更大的“亲民性”,很容易进行开发。但是,python最大的问题就是。通常可以用CUDA或者C++对一个python程序进行加速,加速策略如下:大规模算术运算、矩阵运算等过程用底层语言编写,python只负责传参和处理结果数据;十分常用的函数,我们可以用C++写成“算子”,然后python调用算子即可,如边缘检测的Sobel算子;

呆呆象呆呆的博客 1万+

hdu 1195 Open the Lock(bbfs(双向广搜))

<br />第一次使用双向广搜算法求解,感觉效率的确提高了不止两倍。刚开始的一直WA,后来发现是每次都要扩展一层的节点,然后在扩展另一层的节点,而不是每次只扩展一个节点。<br /> /* Author: ACb0y Date: 2010-9-21 Type: bbfs(双向广搜) ProblemId: hdu 1195 Open the Lock Result: AC */ #include <iostream> #include <queue> using namespace

个人独立博客http://www.acb0y.cn/ 1526

python操作git推送自己分支并合并主分支(持续优化该工具)

python git

qq_44707265的博客 862

C++调用Python总结

  最近要通过开源数据集测试模型,官方标签有的不适合整理为C++格式进行处理,因此准备通过与Python混合编程实现。网上关于如何实现有很多资料,这里总结下用到的资料和遇到问题。 1、工程配置   python是必须要装好的,这里主要说下vs的配置。   C++调用Python脚本中的函数   参考该博文,C++调用Python主要使用到Python安装路径下的include、libs、该目录下相...

yangjf91的博客 3万+

GPU八卡A100使用INT4-W4A16量化大模型实验

本实验旨在探索在环境下,对大语言模型进行权重量化的可行性、效率与性能影响。通过采用工具集成 GPTQ 算法,实现对所有线性层的权重量化(W4A16 方案最终通过lm-eval工具在GSM8K任务上对压缩模型进行评估。

goodgood_UP的博客 1909

python3调用cpp的方法——python调用so

python中使用ctypes模块可以在python中直接调用C/C++。 首先要将C/C++编译成动态库(.so),之后python中调用即可 特别注意在调用C++函数需要在函数声明时,加入前缀“ extern “C” ”,这是由于C++支持函数重载功能,在编译时会更改函数名。在函数声明时,前缀extern "C"则确保按C的方式编译。 值得注意的是,一定要有函数输入输出类型的声明,int型不用...

springlustre的专栏 3万+

【Linux】实际项目应该如何完成?--安防监控系统项目的总结

到目前为止我也做个5、6个嵌入式项目,但以往都是从零开始自己做,也就是毫无计划,想到那里做那里,有想法就会去实现,就这样导致我碰到了很多坑,也消耗了我许多时间,当然,不是说这样不好,因为在其中我也得到了一个很好的锻炼与练习,但是这不适用于在工作中去这样做。...

修成真的博客 6726

【全网最全最详细】智能体提示词prompt教程

定义:提示词是用户输入给AI模型(如ChatGPT、MidJourney等)的指令或问题,用于引导模型生成特定类型的输出。它是用户与AI交互的核心媒介。作用:提示词的质量直接影响AI输出的准确性和相关性。好的提示词能明确任务边界、减少歧义,并激发模型的创造力。提示词就是“给AI下指令的说明书”——越清楚、越具体,AI干得越好!帮你更快、更准地拿到想要的结果,不用和AI“猜谜语”。

qq_38196449的博客 8218

【C++】11 Visual Studio 2019 C++安装matplotlib-cpp绘图

使用C++调用matplotlib-cpp绘图

记录专业模型开发、算法程序设计、软件学习笔记、生活日志。 9393

别再纠结了!手把手教你根据项目需求选对目标检测框架(MMDetection/Detectron2/YOLOv8实战对比)

本文详细对比了三大目标检测框架MMDetection、Detectron2和YOLOv8的适用场景与实战技巧,帮助开发者根据项目需求精准选型。从毕业设计到工业落地,分析不同场景下的核心需求与框架优势,提供决策树和避坑指南,确保技术选型与项目目标高度匹配。

weixin_30342209的博客 554

C++调用Python的方法

0 背景 在《Python调用C++程序的几种方法》中,我们介绍了 python 调用 c++ 的一些方法,实际项目中,有时会遇到 c++ 调用 python 的需求,比如实现代码加密等功能,因此本文对相关方法做一个整理记录。 1 https://cyendra.github.io/2018/07/10/pythoncpp/ https://cloud.tencent.com/developer/article/1174629 https://docs.python.org/3.8/extend.

ZONGXP的博客 3万+

<PLC><汇川>汇川PLC基于EtherCat协议使用转矩模式控制SV630N伺服驱动电机

本系列是关于PLC相关的博文,包括PLC编程、PLC与上位机通讯、PLC与下位驱动、仪器仪表等通讯、PLC指令解析等相关内容。PLC品牌包括但不限于西门子、三菱等国外品牌,汇川、信捷等国内品牌。除了PLC为主要内容外,PLC相关元器件如触摸屏(HMI)、交换机等工控产品,如果有值得记录的内容,也会添加进来。

用沸腾的热血,支付我们的人生吧! 4158

SKUA-GOCAD入门教程-第八节 线的创建与编辑7和8

本文介绍了曲线编辑操作的主要功能,包括曲线部分和区域的管理操作。在曲线部分操作方面,详细说明了如何合并、删除、移动和过滤曲线部分,支持精确或带公差的合并方式。在曲线区域操作方面,阐述了保留/删除区域点、移动区域点、保留/删除区域线段等操作。此外还介绍了节点连接功能,包括新增/删除连接、端点连接以及为曲线赋予地质特征的方法。

江洋大葱的博客 390

C++调用python的方法

实例:UE4中C++调用python模块实现Switchboard进程 Windows环境下 UE通过调用bat脚本来开启子进程,bat脚本中会调用python.exe执行python脚本。 调用顺序为:C++ >> bat脚本 >> python.exe >> py文件 1. 编写python模块程序 包含以下文件目录: switchboard文件夹包含所有要执行的python脚本 venv文件夹包含执行python需要的环境文件、解释器等 2. 编写调用pyth

krabbit1997的博客 1万+

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

python调用cpp_Python调用C/C++的种种方法

Python是解释性语言, 底层就是用c实现的, 所以用python调用C是很容易的, 下面就总结一下各种调用的方法, 给出例子, 所有例子都在ubuntu9.10, python2.6下试过.1. Python 调用 C (base)想在python中调用c函数, 如这儿的fact#includeint fact(int n){if (n <= 1)return 1;elsereturn ...

weixin_39980347的博客 1550

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

C++调用Python及间接调用Python三方库

本文章目的是脱离安装Python环境的前提下,由C++程序调用Python程序及Python相关三方库 1.移植Python解释器 Python环境的目录结构 红色部分是生成路径下解释器运行时依赖 将红色部分拷贝到C++编译主ExE路径下即可,并把需要允许的py文件页考过去(也就是.py文件需和编译生成的.exe文件放在一起)蓝色部分是VS配置编译时依赖,需要添加到vs工程的环境中 2.VS配置 在vs中进行配置 3.实例 python程序 def testReturn1(s.

HelloEarth_的博客 2965

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

上一篇: mapnik的demo运行
下一篇: python支持下的mapnik安装
洗洗睡去
博客等级 码龄19年 277粉丝 90原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值