Python生成可執(zhí)行文件之PyInstaller庫(kù)的使用方式
概述:
可以將.py源代碼轉(zhuǎn)換成無(wú)需源代碼的可執(zhí)行文件(直接就可以運(yùn)行的程序)
因?yàn)橛械臅r(shí)候Windows,Mac,Linux系統(tǒng)上并沒(méi)有安裝Python的IDLE或者Python的解釋器,我們需要將源程序首先編譯或者打包成一個(gè)直接可以執(zhí)行的程序。
安裝:
PyInstaller庫(kù)是第三方庫(kù),使用前需要額外安裝。
打開(kāi)Windows平臺(tái)下的command命令行,輸入pip install pyinstaller
pip install pyinstaller
如下圖所示提示安裝成功:

使用方式:
找到程序源代碼,在源代碼所在目錄下,通過(guò)Windows命令行進(jìn)行操作(因?yàn)镻yinstaller是命令行的執(zhí)行程序,不是Python下的執(zhí)行指令)
- windows鍵+R鍵打開(kāi)cmd命令,想要進(jìn)入源代碼所在目錄。
- 先進(jìn)入指定盤,例如在cmd中輸入 D:,進(jìn)入D盤。
- 然后需要進(jìn)入指定目錄,語(yǔ)法為:cd 路徑,例如 cd D:\Windows\System32
- 在cmd命令行中,輸入 pyinstaller -F 文件名.py
pyinstaller -F 文件名.py
- 執(zhí)行完以上代碼后(以上代碼執(zhí)行需要等待一段時(shí)間),打開(kāi)所在目錄,我們會(huì)發(fā)現(xiàn)在該文件夾中多了以下圖中三個(gè)新文件夾。
- 其中__pycache__,和build文件夾可以刪除。
- 而dist文件夾中生成了一個(gè)與源文件同名的exe文件,這個(gè)就是打包之后生成的可執(zhí)行文件??梢允髽?biāo)雙擊該文件進(jìn)入我們的可執(zhí)行程序。

下圖為可執(zhí)行文件:

另一方案:
在源代碼所在目錄下,進(jìn)入cmd命令行的另一種辦法
- 在文件管理器中進(jìn)入源代碼所在文件夾。
- 在資源管理器的地址欄中輸入cmd,按下回車鍵。則進(jìn)入了該文件夾中的cmd命令行。
- 在cmd命令行中,輸入 pyinstaller -F 文件名.py
pyinstaller -F 文件名.py

附:常用參數(shù)的使用方法如下

(1)-h
pyinstaller 命令的常用參數(shù)使用通過(guò)在命令行中輸入: >pyinstaller –h即可,截取常用其中一段如下圖所示:

(2)-i 或者--icon && -w
例如:--icon參數(shù)的使用如下:(指定打包程序使用的圖標(biāo)文件)
>pyinstaller -F --icon="D:\a.ico" D:\python_test.py
>pyinstaller -F -w -i D:\tmp\main.ico D:\python_test.py
-F 表示生成單個(gè)可執(zhí)行文件,執(zhí)行后dist目錄中出現(xiàn)了python_test.exe文件,沒(méi)有任何依賴庫(kù),執(zhí)行它即可。
-w 表示去掉控制臺(tái)窗口,這在GUI界面時(shí)非常有用。不過(guò)如果是命令行程序的話那就把這個(gè)選項(xiàng)刪除吧!
-i 表示可執(zhí)行文件的圖標(biāo)
使用 PyInstaller庫(kù)需要注意以下問(wèn)題:
◆ 文件路徑中不能出現(xiàn)空格和英文句號(hào)(.);
◆ 源文件必須是UTF-8編碼,暫不支持其他編碼類型。采用IDLE編寫的源文件都保存為UTF -8編碼形式,可直接使用即可。
總結(jié)
到此這篇關(guān)于Python生成可執(zhí)行文件之PyInstaller庫(kù)使用的文章就介紹到這了,更多相關(guān)Python生成可執(zhí)行文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python使用BeautifulSoup和Scrapy抓取網(wǎng)頁(yè)數(shù)據(jù)的具體教程
在當(dāng)今信息爆炸的時(shí)代,數(shù)據(jù)無(wú)處不在,如何有效地抓取、處理和分析這些數(shù)據(jù)成為了許多開(kāi)發(fā)者和數(shù)據(jù)科學(xué)家的必修課,本篇博客將深入探討如何使用Python中的兩個(gè)強(qiáng)大工具:BeautifulSoup和Scrapy來(lái)抓取網(wǎng)頁(yè)數(shù)據(jù),需要的朋友可以參考下2025-01-01
python編寫學(xué)生成績(jī)管理系統(tǒng)的邏輯結(jié)構(gòu)及功能實(shí)現(xiàn)
這篇文章主要為大家介紹了python編寫學(xué)生成績(jī)管理系統(tǒng)實(shí)現(xiàn)八個(gè)功能示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-04-04
用Python爬取LOL所有的英雄信息以及英雄皮膚的示例代碼
這篇文章主要介紹了用Python爬取LOL所有的英雄信息以及英雄皮膚的示例代碼,主要分為兩部分,獲取網(wǎng)頁(yè)上數(shù)據(jù)和圖片保存到本地等,感興趣的可以了解一下2020-07-07
Python基于pyCUDA實(shí)現(xiàn)GPU加速并行計(jì)算功能入門教程
這篇文章主要介紹了Python基于pyCUDA實(shí)現(xiàn)GPU加速并行計(jì)算功能,結(jié)合實(shí)例形式分析了Python使用pyCUDA進(jìn)行GPU加速并行計(jì)算的原理與相關(guān)實(shí)現(xiàn)操作技巧,需要的朋友可以參考下2018-06-06
Python高級(jí)應(yīng)用探索之元編程和并發(fā)編程詳解
Python作為一種簡(jiǎn)單易用且功能強(qiáng)大的編程語(yǔ)言,廣泛應(yīng)用于各個(gè)領(lǐng)域,本文主要來(lái)和大家一起探索一下Python中的優(yōu)化技巧、元編程和并發(fā)編程,希望對(duì)大家有所幫助2023-11-11

