如何將Python腳本轉(zhuǎn)換為可執(zhí)行文件?
Python 是一種解釋性語(yǔ)言,意味著代碼需要在運(yùn)行時(shí)解釋執(zhí)行。愛掏網(wǎng) - it200.com這使得 Python 程序部署變得有些棘手。愛掏網(wǎng) - it200.com為了解決這一問題,我們可以將 Python 腳本轉(zhuǎn)換為可執(zhí)行文件,使其更容易地在不同環(huán)境中運(yùn)行。愛掏網(wǎng) - it200.com
Python 有多種將腳本轉(zhuǎn)換為可執(zhí)行文件的方法,下面是其中的幾種:
py2exe
py2exe 是將 Python 腳本轉(zhuǎn)換為 MS Windows 上的可執(zhí)行文件的工具之一。愛掏網(wǎng) - it200.com使用 py2exe,我們可以生成獨(dú)立的應(yīng)用程序,其中包含我們 Python 應(yīng)用所需的所有庫(kù)以及引用。愛掏網(wǎng) - it200.com早期的版本支持 Python 2.3,但是這些版本已經(jīng)不再維護(hù)。愛掏網(wǎng) - it200.com新版 py2exe 僅支持 Python 3.4 和 3.5。愛掏網(wǎng) - it200.com
# 演示 py2exe 的使用
from distutils.core import setup
import py2exe
setup(console=['hello.py'])
PyInstaller
PyInstaller 是用于將 Python 應(yīng)用程序轉(zhuǎn)換為可執(zhí)行文件的跨平臺(tái)工具。愛掏網(wǎng) - it200.com它有一個(gè)很好的特性,它將應(yīng)用程序和所需的庫(kù)打包成單個(gè)可執(zhí)行文件。愛掏網(wǎng) - it200.comPyInstaller 支持 Windows、Linux 和 Mac OS X。愛掏網(wǎng) - it200.com
# 演示 PyInstaller 的使用
$ pyinstaller --onefile hello.py
cx_Freeze
cx_Freeze 是將 Python 腳本轉(zhuǎn)換為可執(zhí)行文件的另一個(gè)工具。愛掏網(wǎng) - it200.com它能夠?qū)?Python 腳本、依賴的庫(kù)和資源文件(如圖像和聲音)打包成一個(gè)可執(zhí)行文件。愛掏網(wǎng) - it200.com使用 cx_Freeze 可以創(chuàng)建適用于 Windows、Linux、Mac OS X 等平臺(tái)的可執(zhí)行文件。愛掏網(wǎng) - it200.com
# 演示 cx_Freeze 的使用
from cx_Freeze import setup, Executable
setup(name='hello',
version='0.1',
description='Sample cx_Freeze script',
executables=[Executable('hello.py')])
安裝并使用 PyInstaller
在這篇文章中,我們將深入介紹 PyInstaller 的安裝和使用。愛掏網(wǎng) - it200.com
安裝 PyInstaller
要安裝 PyInstaller,我們可以使用 pip 工具。愛掏網(wǎng) - it200.com打開終端并輸入以下命令:
$ pip install pyinstaller
創(chuàng)建可執(zhí)行文件
要?jiǎng)?chuàng)建可執(zhí)行文件,我們首先需要先編寫 Python 腳本。愛掏網(wǎng) - it200.com在本例中,我們將編寫一個(gè)簡(jiǎn)單的腳本,它將輸入“Hello World!”并顯示在屏幕上。愛掏網(wǎng) - it200.com在終端中,執(zhí)行以下命令來(lái)創(chuàng)建并編寫腳本:
$ nano hello.py
使用編輯器,將以下代碼復(fù)制并粘貼到新文件中。愛掏網(wǎng) - it200.com然后按 Ctrl + X 并按 Y。愛掏網(wǎng) - it200.com
# hello.py
print("Hello, World!")
現(xiàn)在,我們可以使用 PyInstaller 將該腳本轉(zhuǎn)換為可執(zhí)行文件。愛掏網(wǎng) - it200.com在終端中,運(yùn)行以下命令:
$ pyinstaller --onefile hello.py
運(yùn)行此命令后,PyInstaller 將生成一個(gè)名為 “dist/hello” 的目錄。愛掏網(wǎng) - it200.com其中包含一個(gè)可執(zhí)行文件,該文件允許在命令行下運(yùn)行我們的 Python 腳本。愛掏網(wǎng) - it200.com
運(yùn)行可執(zhí)行文件
現(xiàn)在,我們已經(jīng)成功地將 Python 程序轉(zhuǎn)換為可執(zhí)行文件,讓我們?cè)囍\(yùn)行它吧!
$ ./dist/hello
您應(yīng)該會(huì)看到 “Hello, World!” 的輸出。愛掏網(wǎng) - it200.com
打包非 Python 資源
有時(shí),Python 應(yīng)用程序可能依賴于其他文件類型,如圖像和聲音文件。愛掏網(wǎng) - it200.com如果想要將這些非 Python 資源打包到我們的可執(zhí)行文件中,我們需要做一些特殊的工作。愛掏網(wǎng) - it200.com
假設(shè)我們有一幅圖片文件 “image.png” 。愛掏網(wǎng) - it200.com要將此文件打包到可執(zhí)行文件中,則需要在 Python 腳本中進(jìn)行兩個(gè)更改。愛掏網(wǎng) - it200.com