編譯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
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程式了!