想在不安装python的情况下调用它,网上说的方法都不太详细,就连官方给的chm文件也没提及怎么配置,摸索了下,找到了简单调用的办法。记录下。
0.编译条件
MSVS 2010 C++ console程序
Python 2.7
1.需要的文件及文件夹
include文件夹
libs文件夹
Lib文件夹
Python27.dll文件
上面前3个文件夹可以从其他安装好Python的根目录里取得,dll文件从system文件夹里考出来。这里打包提供下本站下载
2.VC工程配置
- 新建控制台项目PyTest,解压缩上面的文件夹放在.h.cpp目录处;
- 由于没有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;
}