作者:虚坏叔叔
早餐店不会开到晚上,想吃的人早就来了!😄
C++ 调用Python的环境准备和项目初始化
前面讲解的
ctypes
和
扩展库
的入口都是在Python端,有些项目是由C++主导的,如何引用Python作为脚本解析器呢?
一、环境准备
2种方式,
C++
端可以完全包含
Python
脚本,也可以分开去查找电脑上的
Python
已安装脚本,但是查找电脑上的
Python
安装脚本风险很大,主要是版本不一致。
所以我们会将整个
Python
编译和运行环境都包含在
C++
项目中。
- 编译环境: 头文件、lib库文件
- 运行环境: Python自己的动态库 pyd扩展库 Python库
-
#通过设置可以确保加载的是你想要设置的库Py_SetPythonHome(L”./”);
-
#在Py_SetPythonHome后面调用这个Py_Initialize();
二、项目初始化
2.1 创建 c++
项目
c++
打开
visual studio 2015
,创建
Win32
控制台应用程序
添加一个
main.cpp
文件
#include <iostream>
using namespace std;
int main(int argc, char*argv[])
{
cout << "C++ call Python" << endl;
getchar();
return 0;
}
2.2 准备Python环境
安装Python3.7环境后:
1.拷贝include文件夹
2.拷贝Lib文件夹
3.以及python37.lib
4.和Python37.dll
最后的目录如下:
设置项目的包含目录为
.\include
修改代码调用:
- 设置Python的Home路径
- Python初始化解释器
#include <iostream>
#include <Python.h>
using namespace std;
int main(int argc, char*argv[])
{
cout << "C++ call Python" << endl;
// 设置Python的Home路径
Py_SetPythonHome(L"./");
// Python初始化解释器
Py_Initialize();
getchar();
return 0;
}
三、总结
- C++ 调用Python的环境准备和项目初始化