国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python編程:將Python程序轉化為可執行程序[整理]

2020-01-04 18:07:06
字體:
來源:轉載
供稿:網友

工欲善其事,必先利其器.python是解釋型的語言,但是在windows下如果要執行程序的話還得加個pythonshell的話,未免也太麻煩了.而這里所說的東西就是將python程序轉換為exe文件.下面是一些常用的工具,不過似乎py2exe應用的更加廣泛一些.

py2exehttp://py2exe.sf.net

只支持windows平臺,應該是大家聽到最多的一個名字了,用戶不少,所以有問題的話在它的maillist里面很容易找到答案。文檔中提到了"無法找到某某code"、使用opengl等模塊的問題

PyPackagehttp://codereactor.net/projects/pypack/index.html

我覺得py2exe等等工具還是羅嗦得像唐僧,需要在配置文件中寫上需要的數據文件。作者完全無視這樣一個事實:我需要發布可執行文件的時候,程序已經完工了,所有的數據文件就在主程序所在目錄下,所以多數情況下,根本不用到別的地方搜索。現在終于有人站了出來,PyPackage實際上并不是一個程序打包的工具,而只是簡化py2exe的操作,甚至可以自動調用InnoSetup5制作安裝文件——不過這個軟件并不智能,會打包很多不需要的文件

Installerhttp://www.mcmillan-inc.com/installer_dnld.html

可以產生windows、linux平臺的可執行文件,現在作者主頁連不上去了,但是搜索一下可以在其它地方下載

自帶一個小程序寫配置文件,如果程序較復雜,還是需要手工修改這個配置文件。支持從py15以來的所有Python版本

2005年9月,冰凍牡蠣更新:GiovanniBajo獲得GordonMcMillan'sInstaller的授權、版權改變為GPL,并在http://pyinstaller.hpcf.upr.edu/繼續開發PYinstaller。2006年9月更新:這里可以看到GordonMcMillan's的原始網站的鏡像

Python自帶的freeze.py(不過windows版本不帶這個,你可以自己下載Python的源程序再找)。這個是我最不推薦的一種方法(為什么?自己看),不過如果你的Python程序要發布到其它工具不支持的平臺上,可以考慮這個方法

新出來的Pycohttp://www.pythonapocrypha.com/projects/pyco/

還沒用過

Squeezehttp://starship.python.net/crew/fredrik/ipa/squeeze.htm

還沒用過,只支持Python1.4

cx_Freezehttp://starship.python.net/crew/atuining/cx_Freeze/

winodws、linux平臺。簡單的程序甚至都不需要寫配置文件

StandalonePythonforWindowshttp://arctrix.com/nas/python/standalone.html

如果你不介意源程序太過"暴露"的話,用這個吧

會不會覺得Updated:Sun,09Apr200018:39:54-0600扎眼?如果你看一看它的VC源代碼,就不會這么想了——其實這是普遍適用于win系統的方法,無論是98、2000或者xp。也許也可以用到linux上——我不懂linux,如果真的可以這么做,還請告訴我。

py2apphttp://undefined.org/python/

支持linux平臺的工具可能也支持macos,或者直接使用這個py2app。具體就不知道了,只吃過蘋果,還沒玩過蘋果呢

MovablePythonhttp://www.voidspace.org.uk/python/movpy/

這個其實是使用py2exe制作的、可以放在U盤上的綠色Python。有使用py2app制作蘋果版movpy和用cx_Freeze制作Linux版movpy的計劃。懶到都不愿意學習py2exe、py2app或者cx_Freeze的人可以看看。

ShedSkin-APython-to-C++Compiler:試驗項目,windows上,連他的例子我都沒有編譯成功:(。

Psyco:給Python程序加速的東西,看不出對發布Python程序的直接好處,并且作者以后將致力于PyPy。

PyPy:項目目標是純Python實現的Python、速度比CPython快,將來可以幫助實現編譯Python。

pyc:PythoncompilerinPython,一個用純Python寫的Python的bytecode編譯器,可以優化輸出的pyc文件。和PyPy一樣,現在還看不出對發布Python程序的直接好處。只有py24的bytecode。pyc是pyvm這個新的python虛擬機的一部分。

Jungle:使用GNU工具(as、ld和winres)把Python程序編譯到windows的exe可執行文件。該可執行文件只使用基于python24的的pythonic.dll。猜測它支持的模塊僅限于內部模塊以及jungle.jgl列出的模塊。只有可執行文件下載,而這個可執行文件也是用Jungle自己編譯的。目前版本號都到1.10了,經???.xx的版本號,這個數字好大啊,娃哈哈。

另類的方法,對Python語言特性都還不是100%支持,眾多的CPython模塊也不可以使用,還有,我也沒有試過:

for.NET的Python編譯器(如VisualPython、IronPython),不過我可不喜歡為了一個芝麻大的軟件安裝.NETframework

用jython,然后用jbuilder、jsmooth、NativeJ之類的包裹一下,或者用gcj編譯成本地代碼

在最后,給一個人學習py2exe的文章,幫助學習:

最近學了一點PYTHON,想把PYTHON寫的程序轉換成EXE文件,在網上查到了資料后發現了這個東東

寫下來做一下記錄。

英文教程:

http://www.py2exe.org/index.cgi/Tutorial

Python2.5+Py2exe

工作目錄:c:/python25

首先隨便寫一個程序

hello.py

print"HelloWorld!"

測試一下是否能運行

pythonhello.py

結果:HelloWorld

到www.py2exe.org下載PY2exe,或者在SF上下載

http://sourceforge.net/project/showfiles.php?group_id=15583

接下來直接安裝PY2EXE包。。它是一個安裝文件。。直接裝就行了。

下在編寫一個設置的PY文件 setup.py

fromdistutils.coreimportsetup

importpy2exe

setup(console=['hello.py'])

運行:pythonsetup.pypy2exe

出現以下信息后,在DIST目錄里,就會有一個hello.exe

即成功。

runningpy2exe

***searchingforrequiredmodules***

***parsingresults***

creatingpythonloaderforextension'zlib'

creatingpythonloaderforextension'unicodedata'

creatingpythonloaderforextension'bz2'

***findingdllsneeded***

***createbinaries***

***bytecompilepythonfiles***

byte-compilingC:/Tutorial/build/bdist.win32/winexe/temp/bz2.pytobz2.pyc

byte-compilingC:/Tutorial/build/bdist.win32/winexe/temp/unicodedata.pytounicodedata.pyc

byte-compilingC:/Tutorial/build/bdist.win32/winexe/temp/zlib.pytozlib.pyc

skippingbyte-compilationofc:/Python24/lib/StringIO.pytoStringIO.pyc

[skippingmanylinesforbrevity]

skippingbyte-compilationofc:/Python24/lib/warnings.pytowarnings.pyc

***copyextensions***

***copydlls***

copyingc:/Python24/lib/site-packages/py2exe/run.exe->C:/Tutorial/dist/hello.exe

***binarydependencies***

Yourexecutable(s)alsodependonthesedllswhicharenotincluded,

youmayormaynotneedtodistributethem.

Makesureyouhavethelicenseifyoudistributeanyofthem,and

makesureyoudon'tdistributefilesbelongingtotheoperatingsystem.

ADVAPI32.dll-C:/WINDOWS/system32/ADVAPI32.dll

USER32.dll-C:/WINDOWS/system32/USER32.dll

SHELL32.dll-C:/WINDOWS/system32/SHELL32.dll

KERNEL32.dll-C:/WINDOWS/system32/KERNEL32.dll

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 汉阴县| 和田县| 福州市| 乌恰县| 阜新| 奉化市| 安吉县| 沂源县| 上杭县| 胶州市| 吴忠市| 宽城| 三门县| 晋中市| 谢通门县| 元阳县| 和田市| 哈尔滨市| 宁远县| 龙山县| 南皮县| 邛崃市| 衡山县| 永春县| 重庆市| 阿拉善左旗| 孝义市| 日照市| 诏安县| 武宣县| 炉霍县| 台湾省| 伊春市| 边坝县| 合江县| 辽源市| 囊谦县| 河南省| 罗源县| 三河市| 临澧县|