python轉(zhuǎn)成exe 既然Python是用C實現(xiàn)的,那為什么Python不能直接生成exe呢?
既然Python是用C實現(xiàn)的,那為什么Python不能直接生成exe呢?C語言實際上是一種“舊”和“底層”語言。其執(zhí)行效率僅次于匯編語言。它之所以古老是因為C語言出現(xiàn)得很早。盡管FORTRAN和COB
既然Python是用C實現(xiàn)的,那為什么Python不能直接生成exe呢?
C語言實際上是一種“舊”和“底層”語言。其執(zhí)行效率僅次于匯編語言。
它之所以古老是因為C語言出現(xiàn)得很早。
盡管FORTRAN和COBOL比C語言出現(xiàn)得早,但現(xiàn)代主流操作系統(tǒng)(windows、Mac OS、Linux、IOS、Android、Unix)都是從C語言中誕生的。
最根本的原因是C語言被設(shè)計用來同時編寫匯編語言。從理論上講,它可以用外匯來表示。匯編語言是最有效的語言。
所以Python是用C語言編寫的也就不足為奇了。它與能否生成exe無關(guān)。
Exe文件是Windows平臺的專用格式。最簡單的exe是com可執(zhí)行文件。EXE文件實際上由引導(dǎo)加載程序和解釋器組成。
由Python語言生成的代碼只能通過引導(dǎo)加載程序和解釋器作為EXE文件執(zhí)行。
因此Python生成EXE文件并不困難。只是它是否愿意提供的問題。
如何使用PyInstaller將Python代碼轉(zhuǎn)換成exe文件?
提前編寫需要轉(zhuǎn)換的python腳本,在CMD中輸入命令格式為:pyinstaller[parameter][script path],其中包括:-F、-onefile py code,一個目錄中只有一個文件-D、-onedir py code(默認(rèn)為)-K、-TK包括TCL/TK-D、-debug generate debug mode EXE file-W,-windowed、-noconsole Form EXE file(僅限windows)-C、-nowindored、-console EXE file(僅限windows)-x、-upx使用upx壓縮EXE文件-O dir、-out=dir設(shè)置spec文件輸出的目錄。默認(rèn)情況下,pyinstaller在同一目錄下-V file,-version=file添加版本信息文件
Python可以用py2exe轉(zhuǎn)換為EXE文件,轉(zhuǎn)換時會生成一個文件夾。如果您想在文件夾中執(zhí)行一個EXE文件,請將生成的整個文件夾復(fù)制到其他文件夾。具體用法是:假設(shè)有你好世界.py該腳本將轉(zhuǎn)換為獨立的exe程序,并在windows系統(tǒng)上運行,無需安裝python。因此,首先要做的是編寫一個用于發(fā)布程序的設(shè)置腳本,例如我的設(shè)置.py, 在setup函數(shù)前插入import py2exe語句
示例腳本:#我的設(shè)置.py
從分布核心導(dǎo)入安裝程序
導(dǎo)入py2exe
安裝程序(控制臺=[”你好世界.py“
]然后在命令行上執(zhí)行以下語句:
Python我的設(shè)置.py在執(zhí)行上述命令之后,一個名為將生成dist,其中包含helloworld.exe,python24.dll圖書館.zip這些文件。發(fā)布時,應(yīng)打包并發(fā)布此目錄中的文件,并直接在windows系統(tǒng)中運行,無需安裝Pythonhelloworld.exe可以
上面我的設(shè)置.py腳本為控制臺創(chuàng)建一個接口helloword.exe如果你需要創(chuàng)建一個圖形用戶界面程序,你只需要我的設(shè)置.py控制臺輸入=[”你好世界.py“]替換為windows=[”myscript.py文件“]是;另外,需要注意的是,py2exe可以一次創(chuàng)建多個exe文件,只需將這些腳本文件的列表傳遞給console或windows的關(guān)鍵字參數(shù)即可