如何发布vc调用Python的独立运行的程序

来源:互联网 发布:软件外包公司排名 编辑:程序博客网 时间:2024/05/03 17:29

编译Python脚本生成可执行程序,可以通过py2exe编译完成。

在VC中调用python时,可以结合py2exe,完成整个程序的独立发布^_^

google.py:

#! /usr/bin/env python

import sys, webbrowser

def main(a):
    url = "http://www.google.com/search?q=%s" % a
    webbrowser.open(url)

VC源码(python路径等需要自己设置),本程序是通过调用python打开google搜索传入的关键字

#include <Python.h>
int main()
{
    Py_NoSiteFlag = 1;    //避免出现“'import site' failed”的错误
    Py_Initialize();
    PyObject * pModule = NULL;
    PyObject * pFunc = NULL;
    pModule = PyImport_ImportModule("google");    //调用的文件名
    pFunc= PyObject_GetAttrString(pModule, "main");    //调用的函数名
   
    PyObject *arg;
    arg = Py_BuildValue("(s)", "look");    //构造参数,关键字为“look”
    PyEval_CallObject(pFunc, arg);    //调用函数
    Py_Finalize();
    getchar();
    return 0;
}

一、首先利用py2exe将google.py编译为可执行程序:

目的是利用其中生成的python25.dll(这个所有对于所有的python脚本都一样吧)和library.zip(不同脚本生成不同的库文件)。

二、发布VC编译生成的程序时,需要以下文件:

可执行程序:*.exe;

dll:python25.dll;

python脚本:google.py;

库文件:python25.zip(将library.zip重命名为python25.zip,程序默认调用这个名字的库文件)。

三、放到一个无python环境的机器中,测试成功鸟。

So Now,可以发布调用python的VC程序了!

UPDATE:

同时要加py2exe生成的相关的pyd库文件

原创粉丝点击