首頁 >常見問題 >Python檔案如何打包成exe文件

Python檔案如何打包成exe文件

青灯夜游
青灯夜游原創
2019-02-23 13:28:49198898瀏覽

在Python中可以使用py2exe、PyInstaller來將Python腳本檔打包成exe檔。以下這篇文章就來具體介紹一下,希望對大家有幫助。

Python檔案如何打包成exe文件

Python檔案打包成exe檔的方法:

方法一、使用py2exe打包exe檔

py2exe是將Python腳本轉換為Windows .exe應用程式的簡單方法。它是一個基於Distutils的實用程序,允許我們在Windows電腦上運行用Python編寫的應用程序,而無需用戶安裝Python。當需要將程式作為獨立應用程式分發給最終用戶時,這是一個很好的選擇。

附註:py2exe目前僅適用於Python 2.x。

1、下載、安裝py2exe

下載位址:https://sourceforge.net/projects/py2exe/files/py2exe/0.6.9/

2、將文件打包成exe檔

現在,為了建立exe文件,我們需要在要執行的Python腳本所在的資料夾中建立一個名為setup.py的文件,編寫以下程式碼:

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

在上面的程式碼中,我們將把myscript.py打包一個可執行檔(myscript.exe)。 setup函數接收一個參數console=['myscript.py'],用來告訴py2exe我們有一個名為myscript.py的控制台應用程式。

然後,為了建立exe文件,只需從Windows命令提示字元(cmd)執行:

python setup.py py2exe。

將看到大量輸出,然後將建立兩個資料夾:dist和build。

Python檔案如何打包成exe文件

py2exe使用build資料夾作為暫存資料夾來建立可執行(exe)檔案所需的檔案。

dist資料夾儲存可執行檔和執行該執行檔所需的所有檔案。刪除生成資料夾是安全的。

注意:假定在path環境變數中有python,執行python setup.py py2exe。如果不是這樣,只需使用c:\python27\python.exe setup.py py2exe。

現在測試可執行(exe)檔案是否工作:

cd dist
myscript.exe

方法二:使用PyInstaller產生exe檔

#PyInstaller可以將Python程式打包成Windows(當然也包含Linux, Mac OS X, Solaris and AIX)下可執行的EXE檔案。

1、下載安裝PyInstaller

下載位址:http://www.pyinstaller.org/

注意:在Windows上安裝PyInstaller之前,需要安裝PyWin32(下載位址為-http://sourceforge.net/projects/pywin32/files/pywin32/Build 217/)。

然後安裝PyInstaller,從Windows命令提示字元(cmd)執行:

pip install pyinstaller

Python檔案如何打包成exe文件

Python檔案如何打包成exe文件

出現Successfully installed pyinstaller- 3.1.1 pypiwin32-219即表示安裝成功

2、打包

現在打包app.py,從Windows命令提示字元(cmd)執行:

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

就這麼簡單。

如果打包成功,最終的可執行檔app.exe和任何相關檔案將放在dist目錄中,如果該目錄不存在,則會建立該目錄。

Python檔案如何打包成exe文件

下面簡要介紹正在使用的選項:

--onefile用於將所有內容打包到單一執行文件中。如果未指定此選項,則庫等將作為單獨的檔案與主可執行檔案一起分發。

--windowed防止在執行應用程式時顯示控制台視窗。如果您要發布非圖形應用程式(即控制台應用程式),則無需使用此選項。

app.py為主要原始檔。此腳本的基本名稱將用於執行檔(exe)的名稱,但也可以使用該--name選項指定備用執行檔名稱。

以上就是這篇文章的全部內容,希望能對大家的學習有所幫助。更多精彩內容大家可以追蹤php中文網相關教學欄位! ! !

以上是Python檔案如何打包成exe文件的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn