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

首頁 > 編程 > Python > 正文

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

2019-11-25 18:47:07
字體:
來源:轉載
供稿:網友
工欲善其事,必先利其器.python是解釋型的語言,但是在windows下如果要執行程序的話還得加個python shell的話,未免也太麻煩了.而這里所說的東西就是將python程序轉換為exe文件.下面是一些常用的工具,不過似乎py2exe應用的更加廣泛一些. 
py2exe     http://py2exe.sf.net
只支持windows平臺,應該是大家聽到最多的一個名字了,用戶不少,所以有問題的話在它的mail list里面很容易找到答案。文檔中提到了"無法找到某某code"、使用opengl等模塊的問題 
 

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

Installer     http://www.mcmillan-inc.com/installer_dnld.html
可以產生windows、linux平臺的可執行文件,現在作者主頁連不上去了,但是搜索一下可以在其它地方下載
自帶一個小程序寫配置文件,如果程序較復雜,還是需要手工修改這個配置文件。支持從py15以來的所有Python版本
2005年9月,冰凍牡蠣更新:Giovanni Bajo獲得Gordon McMillan's Installer的授權、版權改變為GPL,并在http://pyinstaller.hpcf.upr.edu/繼續開發PYinstaller。2006年9月更新:這里可以看到Gordon McMillan's的原始網站的鏡像 
 

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

新出來的Pyco    http://www.pythonapocrypha.com/projects/pyco/
還沒用過 
 

Squeeze    http://starship.python.net/crew/fredrik/ipa/squeeze.htm
還沒用過,只支持Python 1.4 
 

cx_Freeze  http://starship.python.net/crew/atuining/cx_Freeze/
winodws、linux平臺。簡單的程序甚至都不需要寫配置文件 
 

Stand alone Python for Windows http://arctrix.com/nas/python/standalone.html
如果你不介意源程序太過"暴露"的話,用這個吧
會不會覺得Updated: Sun, 09 Apr 2000 18:39:54 -0600 扎眼?如果你看一看它的VC源代碼,就不會這么想了――其實這是普遍適用于win系統的方法,無論是98、2000或者xp。也許也可以用到linux上――我不懂linux,如果真的可以這么做,還請告訴我。 
 

py2app    http://undefined.org/python/
支持linux平臺的工具可能也支持mac os,或者直接使用這個py2app。具體就不知道了,只吃過蘋果,還沒玩過蘋果呢 
 

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

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

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

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

pyc: Python compiler in Python,一個用純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了,經常看0.xx的版本號,這個數字好大啊,娃哈哈。 
 

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


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

用jython,然后用jbuilder、jsmooth、NativeJ之類的包裹一下,或者用gcj編譯成本地代碼 
在最后,給一個人學習py2exe的文章,幫助學習:

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

英文教程:
http://www.py2exe.org/index.cgi/Tutorial


Python 2.5 + Py2exe 

工作目錄:c:/python25


首先隨便寫一個程序
hello.py

print "Hello World!"


測試一下是否能運行
python hello.py
結果:Hello World

到www.py2exe.org下載 PY2exe ,或者在SF上下載
http://sourceforge.net/project/showfiles.php?group_id=15583

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

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

from distutils.core import setup
import py2exe
setup(console=['hello.py'])


運行:python setup.py py2exe  
出現以下信息后,在DIST目錄里,就會有一個hello.exe
即成功。

running py2exe
*** searching for required modules ***
*** parsing results ***
creating python loader for extension 'zlib'
creating python loader for extension 'unicodedata'
creating python loader for extension 'bz2'
*** finding dlls needed ***
*** create binaries ***
*** byte compile python files ***
byte-compiling C:/Tutorial/build/bdist.win32/winexe/temp/bz2.py to bz2.pyc
byte-compiling C:/Tutorial/build/bdist.win32/winexe/temp/unicodedata.py to unicodedata.pyc
byte-compiling C:/Tutorial/build/bdist.win32/winexe/temp/zlib.py to zlib.pyc
skipping byte-compilation of c:/Python24/lib/StringIO.py to StringIO.pyc

[skipping many lines for brevity]

skipping byte-compilation of c:/Python24/lib/warnings.py to warnings.pyc
*** copy extensions ***
*** copy dlls ***
copying c:/Python24/lib/site-packages/py2exe/run.exe -> C:/Tutorial/dist/hello.exe

*** binary dependencies ***
Your executable(s) also depend on these dlls which are not included,
you may or may not need to distribute them.

Make sure you have the license if you distribute any of them, and
make sure you don't distribute files belonging to the operating system.

   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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安福县| 得荣县| 迁安市| 长子县| 新闻| 苍南县| 孟津县| 理塘县| 永年县| 华亭县| 浦东新区| 涟水县| 东平县| 醴陵市| 景德镇市| 千阳县| 普安县| 青神县| 扶绥县| 无棣县| 新河县| 忻城县| 吉隆县| 成武县| 电白县| 武山县| 昌宁县| 旅游| 黄山市| 上思县| 千阳县| 贺州市| 兴国县| 嵊泗县| 平邑县| 丁青县| 蒙城县| 泸水县| 新宾| 河北省| 通州市|