Python 程式打包成 exe 可執行檔案

2021-10-25 08:04:05 字數 1670 閱讀 7741

python 是乙個指令碼語言,被直譯器解釋執行。它的發布方式:

.py 檔案:對於開源專案或者原始碼沒那麼重要的,直接提供原始碼,需要使用者自行安裝 python 並且安裝依賴的各種庫。(python 官方的各種安裝包就是這樣做的)。

.pyc 檔案:有些公司或個人因為機密或者各種原因,不願意原始碼被執行者看到,可以使用 pyc 檔案發布,pyc 檔案是 python 直譯器可以識別的二進位製碼,故發布後也是跨平台的,需要使用者安裝相應版本的 python 和依賴庫。

可執行檔案:對於非碼農使用者或者一些小白使用者,你讓他裝個 python 同時還要折騰一堆依賴庫,那簡直是個災難。對於此類使用者,最簡單的方式就是提供乙個可執行檔案,只需要把用法告訴他即可。比較麻煩的是需要針對不同平台需要打包不同的可執行檔案(windows, linux, mac,…)。

.py 和.pyc 都比較簡單,python 本身就可以搞定。將 python 指令碼打包成可執行檔案有多種方式。

pip install pyinstaller
python setup.py install
安裝完後,檢查安裝成功與否:

pyinstaller --version
安裝成功後,就可以使用下面的命令了:

pyinstaller : 打包可執行檔案的主要命令,詳細用法下面會介紹。

pyi-archive_viewer : 檢視可執行包裡面的檔案列表。

pyi-bindepend : 檢視可執行檔案依賴的動態庫(.so 或.dll 檔案)

pyi-… : 等等。

使用 pyinstaller

pyinstaller 的語法:pyinstaller [options] script [script…] | specfile

最簡單的用法,在和 myscript.py 同目錄下執行命令:

pyinstaller mycript.py

然後會看到新增加了兩個目錄 build 和 dist,dist 下面的檔案就是可以發布的可執行檔案,對於上面的命令你會發現 dist 目錄下面有一堆檔案,各種都動態庫檔案和 myscrip 可執行檔案。有時這樣感覺比較麻煩,需要打包 dist 下面的所有東西才能發布,萬一丟掉乙個動態庫就無法執行了,好在 pyinstaller 支援單檔案模式,只需要執行:

pyinstaller -f mycript.py
你會發現 dist 下面只有乙個可執行檔案,這個單檔案就可以發布了,可以執行在你正在使用的作業系統類似的系統的下面。當然,pyinstaller 還有各種選項,有通用選項,如 -d 選項用於 debug。

在執行 pyinstaller 命令的時候,會在和指令碼相同目錄下,生成乙個.spec 檔案,該檔案會告訴 pyinstaller 如何處理你的所有指令碼,同時包含了命令選項。一般我們不用去理會這個檔案,若需要打包資料檔案,或者給打包的二進位制增加一些 python 的執行時選項時…一些高階打包選項時,需要手動編輯.spec 檔案。可以使用:

python 打包成exe程式

1.需要安裝 py2exe 2.示例 exetest.py 建立乙個gui介面,只用乙個標籤和按鈕,無功能 from tkinter import win tk label label win,text hello btn button win,text click label.pack btn.p...

python如何打包成exe程式

如果要公開發布程式,最常見的方式就是打包成exe程式了。打包的好處是使用者不需要考慮python的執行環境,且也容易被接受。但不好的是一般打包出來的程式都比較大,而且由於是依靠模組打包,有可能出現相容性等問題。筆者常用的打包模組是pyinstaller。常用的打包命令是 pyinstaller f ...

把python程式打包成exe程式

python64位和32位打包出來的程式不能通用 需要注意的是,pyinstaller打包的執行檔案,只能在和打包機器系統同樣的環境下。也就是說,不具備可移植性,若需要在不同系統上執行,就必須針對該平台進行打包。摘自 我在64 win7系統 64位的python 打包程式,在win7 32和winx...