锘??xml version="1.0" encoding="utf-8" standalone="yes"?>浣滆?zzj 鏃ユ湡:2006-07-0涓銆佺畝浠?/strong>
py2exe鏄竴涓皢python鑴氭湰杞崲鎴恮indows涓婄殑鍙嫭绔嬫墽琛岀殑鍙墽琛岀▼搴?*.exe)鐨勫伐鍏鳳紝榪欐牱錛屼綘灝卞彲浠ヤ笉鐢ㄨpython鑰屽湪windows緋葷粺涓婅繍琛岃繖涓彲鎵ц紼嬪簭銆?br />
py2exe宸茬粡琚敤浜庡垱寤簑xPython,Tkinter,Pmw,PyGTK,pygame,win32com client鍜宻erver,鍜屽叾瀹冪殑鐙珛紼嬪簭銆俻y2exe鏄彂甯冨湪寮婧愯鍙瘉涓嬬殑銆?br />
浜屻佸畨瑁卲y2exe
浠?a target="_blank">http://prdownloads.sourceforge.net/py2exe涓嬭澆騫惰繍琛屼笌浣犳墍瀹夎鐨凱ython瀵瑰簲鐨刾y2exe鐗堟湰鐨刬nstaller錛岃繖灝嗗畨瑁卲y2exe鍜岀浉搴旂殑渚嬪瓙錛涜繖浜涗緥瀛愯瀹夎鍦╨ib\site-packages\py2exe\samples鐩綍涓嬨?br />
涓夈乸y2exe鐨勭敤娉?/strong>
濡傛灉浣犳湁涓涓悕涓篽elloworld.py鐨刾ython鑴氭湰錛屼綘鎯蟲妸瀹冭漿鎹負榪愯鍦╳indows涓婄殑鍙墽琛岀▼搴忥紝騫惰繍琛屽湪娌℃湁瀹夎python鐨剋indows緋葷粺涓婏紝閭d箞棣栧厛浣犲簲鍐欎竴涓敤浜庡彂甯冪▼搴忕殑璁劇疆鑴氭湰渚嬪mysetup.py錛屽湪鍏朵腑鐨剆etup鍑芥暟鍓嶆彃鍏ヨ鍙mport py2exe 銆?br />
mysetup.py紺轟緥濡備笅:
# mysetup.py
from distutils.core import setup
import py2exe
setup(console=["helloworld.py"])
鐒跺悗鎸変笅闈㈢殑鏂規硶榪愯mysetup.py:
python mysetup.py py2exe
涓婇潰鐨勫懡浠ゆ墽琛屽悗灝嗕駭鐢熶竴涓悕涓篸ist鐨勫瓙鐩綍錛屽叾涓寘鍚簡helloworld.exe,python24.dll,library.zip榪欎簺鏂囦歡銆?br />
濡傛灉浣犵殑helloworld.py鑴氭湰涓敤浜嗗凡緙栬瘧鐨凜鎵╁睍妯″潡錛岄偅涔堣繖浜涙ā鍧椾篃浼氳鎷瘋礉鍦ㄤ釜瀛愮洰褰曚腑錛屽悓鏍鳳紝鎵鏈夌殑dll鏂囦歡鍦ㄨ繍琛屾椂閮芥槸闇瑕佺殑錛岄櫎浜嗙郴緇熺殑dll鏂囦歡銆?br />
dist瀛愮洰褰曚腑鐨勬枃浠跺寘鍚簡浣犵殑紼嬪簭鎵蹇呴』鐨勪笢瑗匡紝浣犲簲灝嗚繖涓瓙鐩綍涓殑鎵鏈夊唴瀹逛竴璧峰彂甯冦?br />
榛樿鎯呭喌涓嬶紝py2exe鍦ㄧ洰褰昫ist涓嬪垱寤轟互涓嬭繖浜涘繀欏葷殑鏂囦歡錛?br />
1銆佷竴涓垨澶氫釜exe鏂囦歡銆?br />
2銆乸ython##.dll銆?nbsp;
3銆佸嚑涓?pyd鏂囦歡錛屽畠浠槸宸茬紪璇戠殑鎵╁睍鍚嶏紝瀹冧滑鏄?font style="background-color: #00ffff">exe鏂囦歡鎵闇瑕佺殑錛涘姞涓婂叾瀹冪殑.dll鏂囦歡錛岃繖浜?dll鏄?pyd鎵闇瑕佺殑銆?br />
4銆佷竴涓猯ibrary.zip鏂囦歡錛屽畠鍖呭惈浜嗗凡緙栬瘧鐨勭函鐨刾ython妯″潡濡?pyc鎴?pyo
涓婇潰鐨刴ysetup.py鍒涘緩浜嗕竴涓帶鍒跺彴鐨刪elloword.exe紼嬪簭錛屽鏋滀綘瑕佸垱寤轟竴涓浘褰㈢敤鎴風晫鐨勭▼搴忥紝閭d箞浣犲彧闇瑕佸皢mysetup.py涓殑console=["helloworld.py"]鏇挎崲涓簑indows=["myscript.py"]鏃㈠彲銆?br />
py2exe涓嬈¤兘澶熷垱寤哄涓?font style="background-color: #00ffff">exe鏂囦歡錛屼綘闇瑕佸皢榪欎簺鑴氭湰鏂囦歡鐨勫垪琛ㄤ紶閫掔粰console鎴杦indows鐨勫叧閿瓧鍙傛暟銆傚鏋滀綘鏈夊嚑涓浉鍏寵仈鐨勮剼鏈紝閭d箞榪欐槸寰堟湁鐢ㄧ殑銆?br />
榪愯涓嬮潰涓懡浠わ紝灝嗘樉紺簆y2exe鍛戒護鐨勬墍鏈夊懡浠よ鏍囪銆?br />
python mysetup.py py2exe --help
鍥涖佹寚瀹氶澶栫殑鏂囦歡
涓浜涘簲鐢ㄧ▼搴忓湪榪愯鏃墮渶瑕侀澶栫殑鏂囦歡錛岃濡傞厤緗枃浠躲佸瓧浣撱佷綅鍥俱?br />
濡傛灉鍦ㄥ畨瑁呰剼鏈腑鐢╠ata_files鍙夐」鎸囧畾浜嗛偅浜涢澶栫殑鏂囦歡錛岄偅涔坧y2exe鑳藉皢榪欎簺鏂囦歡鎷瘋礉鍒癲ist瀛愮洰褰曚腑銆俤ata_files搴斿寘鍚竴涓厓緇?target-dir, files)鍒楄〃錛屽叾涓殑files鏄繖浜涢澶栫殑鏂囦歡鐨勫垪琛ㄣ?br />
紺轟緥濡備笅錛?br />
# mysetup.py
from distutils.core import setup
import glob
import py2exe
setup(console=["helloworld.py"],
data_files=[("bitmaps",
["bm/large.gif", "bm/small.gif"]),
("fonts",
glob.glob("fonts\\*.fnt"))],
)
璇存槑錛歞ata_files閫夐」灝嗗垱寤轟竴涓瓙鐩綍dist\bitmaps錛屽叾涓寘鍚袱涓?gif鏂囦歡錛涗竴涓瓙鐩綍dist\fonts錛屽叾涓寘鍚簡鎵鏈夌殑.fnt鏂囦歡銆?br />
浜斻乄indows NT services
浣犲彲浠ラ氳繃浼犻掍竴涓猻ervice鍏抽敭瀛楀弬鏁扮粰setup鍑芥暟鏉ュ緩閫燱indows NT services
,榪欎釜service鍙傛暟鐨勫煎繀欏繪槸涓涓狿ython妯″潡鍚?鍖呭惈涓service綾?鐨勫垪琛ㄣ?br />
紺轟緥濡備笅錛?br />
# mysetup.py
from distutils.core import setup
import py2exe
setup(service=["MyService"])
鎵寤洪犵殑鍙墽琛岀殑service鏄彲浠ラ氳繃鍦ㄥ叾鍚庤窡涓瀹氱殑鍛戒護琛屽弬鏁版爣璁版潵鑷瀹夎鍜屽嵏杞界殑銆備綘鍙互閫氳繃鍦ㄨ繖涓彲鎵ц鐨剆ervice(exe)鍚庤窡涓-help鍙傛暟鏉ュ緱鍒版洿澶氱殑甯姪銆?br />
鍏丆OM servers
浣犲彲浠ラ氳繃浼犻掍竴涓猚om_server 鍏抽敭瀛楀弬鏁扮粰setup鍑芥暟鏉ュ緩閫燱indows NT services
,榪欎釜service鍙傛暟鐨勫煎繀欏繪槸涓涓狿ython妯″潡鍚?鍖呭惈涓涓垨澶氫釜COM server 綾?鐨勫垪琛ㄣ?br />
紺轟緥濡備笅錛?br />
# mysetup.py
from distutils.core import setup
import py2exe
setup(com_server=["win32com.server.interp"])
榛樿鎯呭喌涓嬶紝DLL鍜?font style="background-color: #00ffff">EXE servers琚緩閫狅紝浣犱笉闇瑕佸畠浠殑璇濅綘鍙互綆鍗曠殑鍒犻櫎瀹冧滑銆?br />
]]>#!/usr/bin/perl
2print "This is aaa file handler.\n";
3if(open(MYFILE,"Radius20101101-001.txt")){
4 while($line=<MYFILE>){
5 @array=split("Identifier=",$line);
6 @array=split("\t",$array[1]);
7 print $array[0];
8 print ("\n");
9 }
10 close(FD);
11}
]]>
鎴戜滑鐭ラ亾split鏄伐浣滃湪鍒楄〃鐨勭幆澧?浠栦細瑁呰緭鍏ョ殑鏁版嵁,澶氬垎鍓插嚑嬈?鍦ㄥ緩绔嬬粨鏋滃垪琛?鐒跺悗榪斿洖.鎺ョ潃,浼氳繑鍥炵涓変釜鍙傛暟鍐呯殑鏁版嵁,鍏跺畠鐨勯兘鎵斿純.
絎笁涓弬鏁頒竴瀹氳闈炲父灝忓績,涓轟粈涔?濡備笅鐨勭▼搴?鎴戜滑鍙渶瑕佸墠浜屼釜鍙傛暟.鎴戜滑娉ㄦ剰絎笁涓弬鏁?br />
#!/usr/bin/perl
while(<DATA>){
my ($aa, $dd) = split(/\s+/, $_, 2);
print "$aa || $dd ||\n";
}
__DATA__
1xxxxxxx 2xxxxxx 3xxxxxx 4xxxxx
1xxxxxxx 2xxxxxx 3xxxxxx 4xxxxx
1xxxxxxx 2xxxxxx 3xxxxxx 4xxxxx
1xxxxxxx 2xxxxxx 3xxxxxx 4xxxxx
1xxxxxxx 2xxxxxx 3xxxxxx 4xxxxx
濡傛灉split絎笁涓弬鏁版槸鍐欑殑2鐨勮瘽,杈撳嚭濡備笅緇撴灉
1xxxxxxx || 2xxxxxx 3xxxxxx 4xxxxx
2||
31xxxxxxx || 2xxxxxx 3xxxxxx 4xxxxx
4||
5
濡傛灉split鏄啓鐨?鐨勮瘽,杈撳嚭濡備笅緇撴灉
1xxxxxxx || 2xxxxxx ||
21xxxxxxx || 2xxxxxx ||
3
榪欎富瑕佹槸鍥犱負,濡傛灉鎯沖彇寰楀墠2涓瓧孌?瀛楁璁版暟涓?.鍥犱負闇瑕佺粰鏂囦歡鍒囨垚3浠?鎷垮嚭鍓嶄簩浠?涓嶇劧閮界粰鏈鍚庨潰閮ㄥ垎鍋氫竴浠戒簡.
杞嚜榪滄湜鎶鏈鍧涖?br />
絎笁涓弬鏁板湪澶ф暟鎹噺鎯呭喌涓嬭繕鏄彲浠ユ彁楂樹笉灝戦熷害銆?
]]>
緋葷粺瑕侀儴緗插埌AIX騫沖彴
闂錛?br />
make緙栬瘧鎶ラ敊錛屾彁紺猴細cc_r not found錛佺紪璇戝櫒鎵句笉鍒幫紵閭e氨鎵嬪姩鎸囧畾涓涓嬶紝cc_r搴旇鏄湪/usr/vac/bin鐩綍涓嬨?br />
#vi MakeFile 鎵懼埌CC = cc_r 鏀規垚 /usr/vac/bin/cc_r錛岀劧鍚庢墽琛宮ake
鎻愮ず錛?nbsp;The license for the Evaluation version of IBM XL C/C++ for AIX, V10.1 compiler product has expired. 鎴戝幓錛佽繃鏈熶簡銆傘傘傝繖瀹朵紮榪樻病鍏嶈垂鐨勩傘?br />
鍙︽壘鍔炴硶錛宑c_r涓嶈鐢ㄥ氨鐢╣cc鍚с?br />
AIX Toolbox download錛?/span>http://www-03.ibm.com/systems/power/software/aix/linux/toolbox/download.html 涓厤璐逛笅杞姐?br />
鍌葷摐寮忓畨瑁?#rpm –ivh gcc-4.2.0-3.aix5.3.ppc.rpm
鎶奵c_r鏇挎崲涓篻cc錛屾墽琛宮ake緙栬瘧銆傛姤閿欎竴澶у爢錛屽悇縐嶇殑緙栬瘧閫夐」綾誨瀷涓嶇銆?br />
瑙e喅鏂規
緗戜笂鎼滅殑錛?br />
鐜板湪AIX鑷甫鐨刾erl瀹炰緥鍥犱負涓嶆槸鐢╣cc緙栬瘧鐨勶紝鎵浠ヤ笉鍙互鍦ㄥ叾鍩虹涓婄敤gcc緙栬瘧瀹夎鐩稿叧妯″潡錛?br />
闇瑕佷粠緗戜笂涓嬭澆perl鐨勬簮浠g爜錛屼嬌鐢╣cc緙栬瘧瀹夎涓浠芥柊鐨刾erl瀹炰緥錛?br />
鐜板湪AIX鑷甫鐨刾erl瀹炰緥鍥犱負涓嶆槸鐢╣cc緙栬瘧鐨勶紝鎵浠ヤ笉鍙互鍦ㄥ叾鍩虹涓婄敤gcc緙栬瘧瀹夎鐩稿叧妯″潡錛?br />
闇瑕佷粠緗戜笂涓嬭澆perl鐨勬簮浠g爜錛屼嬌鐢╣cc緙栬瘧瀹夎涓浠芥柊鐨刾erl瀹炰緥錛?/span>
閭e氨鍘籶erl涓嬫渶鏂扮殑婧愮爜鍖呭惂錛?/span>http://www.perl.com/
鎸囧畾緙栬瘧鍣ㄥ拰鐩綍 #sh Configure -de -Dcc=gcc –Dprefix=/opt/perl-5.10
#make
#make install
璁劇疆PATH鐜鍙橀噺錛歟xport PATH=/opt/perl-5.10/bin:$PATH (娉ㄦ剰鎶婃柊鐨刾erl瀹炰緥鐨刡in璺緞璁劇疆鍦ㄥ墠闈紝鏄洜涓虹郴緇熶腑鍘熸湁鐨刾erl瀹炰緥榪樺瓨鍦紝鍙互鍋氬埌浼樺厛浣跨敤鏂扮殑perl瀹炰緥)
#perl -version 紜涓涓嬫渶鏂扮殑鐗堟湰
鐒跺悗鍐嶅幓緙栬瘧String-CRC32鍚?br />
#perl MakeFile.pl
#make
#make install
瀹夎瀹屾垚錛屾祴璇曟垚鍔熴傝繖涓澶у湀緇曠殑銆?br />