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

来源:互联网 发布:40本网络禁书 下载 编辑:程序博客网 时间:2024/06/05 19:39

想在不安装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.编译连接运行得到结果

显示当前日期时间

0 0