從Python腳本創建可執行文件

From:https://mborgerson.com/creating-an-executable-from-a-python-script/

Python是我最喜歡的編程語言之一。話雖這麼說,如果你曾經不得不部署一個用Python編寫的應用程序,那麼你就知道它有多痛苦。

幸運的是,有一些非常棒的開源工具可用於將Python程序打包成獨立的二進制可執行文件,其中包含運行應用程序所需的一切(即Python解釋器,程序代碼,庫,數據等)。

在本文中,我將向您展示如何在Windows上使用PyInstaller創建圖形化“Hello World”應用程序的二進制可執行版本。

根據PyInstaller網站說法,PyInstaller支持所有主要的操作系統,所以如果你的目標是OS X或GNU / Linux系統上的二進制發行版,那麼這些平臺上的過程可能會類似。

第一件事

當然,請確保已安裝Python 2.7.x.(版本按需)

本文中的演示應用程序使用wxPython庫,因此如果您打算繼續使用,則需要安裝它,但不必使用PyInstaller。

您還需要安裝PyInstaller,但我會在一秒鐘內完成。

該應用程序

這個應用程序將是一個簡單的“Hello World”圖形應用程序。下面保存源代碼app.py

app.py

```

!/ usr / bin / env python

import wx app = wx.App(False)frame = wx.Frame(None,wx.ID_ANY,“Hello World”)frame.Show(True)app.MainLoop()```

注意:上面顯示的源代碼來自wxPython 入門指南,如果您想創建圖形Python應用程序,您可能會對此感興趣。

現在,啓動您的控制檯並像往常一樣運行應用程序。

python app.py

出現一個窗口,如下所示。

這不是很令人興奮,但這只是一個演示。

安裝PyInstaller

注意:在Windows上安裝PyInstaller之前,您需要安裝PyWin32。您不需要爲GNU / Linux或Mac OS X系統執行此操作。

可以使用Python包管理器Pip安裝PyInstaller

pip install pyinstaller

構建可執行文件

現在,構建可執行文件。

pyinstaller.exe --onefile --windowed app.py

就這麼簡單。

如果構建成功,最終的可執行文件app.exe和任何相關文件將放在dist目錄中,如果該目錄不存在,將創建該目錄。

讓我簡要介紹一下正在使用的選項:

  • --onefile用於將所有內容打包到單個可執行文件中。如果未指定此選項,則庫等將作爲單獨的文件與主可執行文件一起分發。
  • --windowed防止在運行應用程序時顯示控制檯窗口。如果您要發佈非圖形應用程序(即控制檯應用程序),則無需使用此選項。
  • app.py應用程序的主要源文件。此腳本的基本名稱將用於可執行文件的名稱,但您可以使用該--name選項指定備用可執行文件名。

有關更多配置信息,請參閱PyInstaller手冊

您無需在命令中指定其他模塊,因爲它們將通過import語句自動提取。

注意:在我的系統上,最終的可執行文件是一個相當大的8.4 MiB。可執行文件相對較大,因爲Python解釋器,應用程序代碼和所有必需的庫都打包在(由--onefile選項指定)。雖然方便,但在使用此方法發佈之前,您應該注意這種方法的一些含義。有關捆綁的更多信息,請參閱PyInstaller手冊

構建之後,將創建一個app.spec文件。此文件包含用於運行PyInstaller的所有選項,如果需要,可以反饋到PyInstaller以供將來構建以代替命令行選項。

添加圖標

IconEden提供了一些不錯的免版稅圖標,因此我將使用他們的一個用於此演示。將.ico文件保存在源目錄中,並--icon=app.ico在運行PyInstaller時添加該選項。例如:

pyinstaller.exe --onefile --windowed --icon=app.ico app.py

這是添加到應用程序並通過Windows資源管理器查看時圖標的示例:

添加版本信息

PyInstaller使用以下文件(取自PyInstaller測試套件)將版本信息添加到可執行文件中。將此文件另存爲version.txt

version.txt

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章