python嵌入c++
1.去主页下载源代码项目
2.编译下载下来的项目
3.新建项目填入下面代码
// pythonIncludeTest.cpp : 定义控制台应用程序的入口点。
// #include "stdafx.h"
#include <Python.h> #pragma comment(lib, "python33.lib")
#pragma warning(disable:4996)
int _tmain(int argc, _TCHAR* argv[])
{ Py_SetProgramName(argv[]);
Py_SetPythonHome(L"G://SoftProject/cPython/pythonIncludeTest/Debug/");
Py_InitializeEx(); FILE * fp = NULL;
fp = fopen("G://SoftProject/cPython/pythonIncludeTest/Debug/main.py", "r"); if (fp == NULL)
{
return ;
}
PyRun_SimpleFile(fp, "main.py"); //PyRun_SimpleString("import sys\n"
// "print(sys.getfilesystemencoding())\n");
Py_Finalize();
scanf("exit");
return ;
}
4.添加包含目录和库目录(项目上右键,属性,配置属性,VC++目录)
包含目录指向源码的include目录,库目录指向PCbuild目录(要事先编译成功PCbuild目录就会有lib文件)
5.拷贝源码文件夹下的python33.dll(debug版是python33_d.dll)和Lib文件夹到当前目录,如果用到如ctypes等需要pyd的功能,还要编译该功能的对应项目,并拷贝相应的pyd文件到程序所在目录
python 会自动导入当先执行文件夹下的Lib文件夹下的文件,并且会根据模块如ctypes去当前文件夹找pyd文件如,ctypes_d.pyd
导入压缩版类库的代码版本:
// pythonIncludeTest.cpp : 定义控制台应用程序的入口点。
// #include "stdafx.h"
#include <Python.h> #pragma comment(lib, "python33.lib")
#pragma warning(disable:4996)
int _tmain(int argc, _TCHAR* argv[])
{ Py_NoSiteFlag=;
Py_SetProgramName(argv[]);
Py_SetPythonHome(L"G://SoftProject/cPython/pythonIncludeTest/Debug/");
Py_InitializeEx(); char pycmd[]; // temporary buffer for forged Python script lines
snprintf(
pycmd,
sizeof(pycmd),
"import sys; sys.path = ['%s','%s/Lib']",
"G://SoftProject/cPython/pythonIncludeTest/Debug",
"G://SoftProject/cPython/pythonIncludeTest/Debug"
);
PyRun_SimpleString(pycmd); FILE * fp = NULL;
fp = fopen("G://SoftProject/cPython/pythonIncludeTest/Debug/main.py", "r"); if (fp == NULL)
{
return ;
}
PyRun_SimpleFile(fp, "main.py"); //PyRun_SimpleString("import sys\n"
// "print(sys.getfilesystemencoding())\n");
Py_Finalize();
scanf("exit");
return ;
}
怎么压缩所有源代码:http://docs.python.org/3.3/distutils/sourcedist.html
python嵌入c++的更多相关文章
- 如何让python嵌入html实现类似php的快速开发,十分有价值
1.在一个文件夹名为www.html3.com的web项目来实现,首先到nginx的配置文件nginx.conf做如下配置 python和html混合编写的文件,我以文件后缀为.phtml,通过服务器 ...
- boost.python入门教程 ----python 嵌入c++
Python语言简介 Python是一种脚本语言.以开放的开发接口和独特的语法著称.尽管Python在国内引起注意只有几年的时间,但实际上Python出现于上世纪90年代(据www.python.or ...
- 在应用中嵌入Python:转
在应用中嵌入Python 前面的章节讨论如何扩展Python,如何生成适合的C库等.不过还有另一种情况:通过将Python嵌入C/C++应用以扩展程序的功能.Python嵌入实现了一些使用Python ...
- 将Python代码嵌入C++程序进行编写
将Python代码嵌入C++程序进行编写的实例,python嵌入 把python嵌入的C++里面需要做一些步骤 安装python程序,这样才能使用python的头文件和库 在我们写的源文件中增加“Py ...
- 工程脚本插件方案 - c集成Python基础篇(VC++嵌入Python)
序: 为什么要集成脚本,怎么在工程中集成Python脚本. 在做比较大型的工程时,一般都会分核心层和业务层.核心层要求实现高效和稳定的基础功能,并提供调用接口供业务层调用的一种标准的框架划分.在实际中 ...
- 在 C 代码中嵌入 Python 语句或使用 Python 模块 (Visual Studio 2013 环境设置)
1) 新建一个 内嵌 Python 语句的 C 代码, // This is a test for check insert the Python statements or module in C. ...
- Python高手之路【一】初识python
Python简介 1:Python的创始人 Python (英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/), 是一种解释型.面向对象.动态数据类型的高级程序设计语言,由荷兰人Guido ...
- 【Python五篇慢慢弹】快速上手学python
快速上手学python 作者:白宁超 2016年10月4日19:59:39 摘要:python语言俨然不算新技术,七八年前甚至更早已有很多人研习,只是没有现在流行罢了.之所以当下如此盛行,我想肯定是多 ...
- Python小白的发展之路之Python基础(一)
Python基础部分1: 1.Python简介 2.Python 2 or 3,两者的主要区别 3.Python解释器 4.安装Python 5.第一个Python程序 Hello World 6.P ...
随机推荐
- iOS-如何写好一个UITableView
如何写好一个UITableView 字数5787 阅读3745 评论25 喜欢69 本文是直播分享的简单文字整理,直播共分为上.下两部分.第一部分:优酷 Or YouTube,第二部分:优酷 Demo ...
- 032——VUE中表单控件处理之复选框的处理
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- hdu3488
题解: 首先把每一个点拆到两边 然后做KM求最大 吧没一条边相反即可 代码: #include<cstdio> #include<cmath> #include<algo ...
- 如何自定义FileZilla编辑文件的默认打开方式
看一下设置: 原来是人家默默认不给我们提示 改一下: 还是不行,还是跳到网页去了 还是不行 这样就好了...
- is null 和=null的区别
数据库中 null 表示 不可知,不确定 所以 判断都用 字段 is null的方式进行判断 而 = null .<> null 的判断结果,仍然是不可知,不确定,所以 不会返回任何结果. ...
- 2018.11.12 RF debug
1 SG setting 2 Date 3 0-1 4 ASK 5 Power supply 6 SG - filter 7 NRF905- demodulation 8 RX test 9 ...
- Composer 扩展包安装方法
问题说明 我们经常要往现有的项目中添加扩展包,有时候因为文档的错误引导,如下图来自 这个文档 的: composer update 这个命令在我们现在的逻辑中,可能会对项目造成巨大伤害. 因为 com ...
- python3精简笔记(三)——高级特性
Python中 1行代码能实现的功能,决不写5行代码.请始终牢记,代码越少,开发效率越高. 切片 取一个list或tuple的部分元素是非常常见的操作.Python提供了切片(Slice)操作符 L ...
- 【中文同义词近义词】词向量 vs 同义词近义词库
方案一:利用预训练好的词向量模型 优点: (1)能把词进行语义上的向量化(2)能得到词与词的相似度 缺点: (1)词向量的效果和语料库的大小和质量有较大的关系(2)用most_similar() 得到 ...
- [Linux] 输出文件的指定行
1.获取第k行(以k=10为例) 要注意的是,如果文件包含内容不足10行,应该不输出. # Read from the file file.txt and output the tenth line ...