Python3打包生成EXE可執(zhí)行程序

Python是解釋性語(yǔ)言厦坛,一般在編碼和運(yùn)行的時(shí)候也都是直接在Python開(kāi)發(fā)環(huán)境下運(yùn)行,使用Pyinstaller這個(gè)類(lèi)庫(kù)來(lái)打包Windows系統(tǒng)下的可執(zhí)行程序椭员,需要用到如下的一些參數(shù):

ü-F表示生成單個(gè)可執(zhí)行文件

ü-w表示去掉控制臺(tái)窗口,這在GUI界面時(shí)非常有用。不過(guò)如果是命令行程序的話(huà)那就把這個(gè)選項(xiàng)刪除吧撩幽!

ü-p表示你自己自定義需要加載的類(lèi)路徑,一般情況下用不到

ü-i表示可執(zhí)行文件的圖標(biāo)

說(shuō)起來(lái)箩艺,這個(gè)Python程序除了可以打包成Windows下的可執(zhí)行程序外窜醉,也可以打包成蘋(píng)果電腦上的可執(zhí)行程序(使用py2app類(lèi)庫(kù)),或者在外面加個(gè)殼打包成手機(jī)APP(各種手機(jī)操作系統(tǒng)平臺(tái)的艺谆,例如使用Kivy框架開(kāi)發(fā)Andriod手機(jī)應(yīng)用)榨惰,Python跨平臺(tái)的這個(gè)屬性很棒,一次開(kāi)發(fā)静汤,打包成不同操作平臺(tái)上運(yùn)行的應(yīng)用軟件琅催,這是Python的優(yōu)點(diǎn)之一。

2常用的python打包工具有py2exe以及pyinstaller虫给。

py2exe操作起來(lái)沒(méi)有pyinstaller方便藤抡,需要提前編寫(xiě)一個(gè)setup.py文件,而且在多版本支持方面也沒(méi)有pyinstaller做的好抹估,個(gè)人傾向于選擇pyinstaller缠黍。

安裝

pyinstaller是一個(gè)python開(kāi)發(fā)的包,支持多種安裝方式药蜻,小編在這里推薦使用pip命令來(lái)安裝瓷式。因?yàn)閜yinstaller這個(gè)包依賴(lài)于pywin32替饿,使用pip方式來(lái)安裝可以在安裝過(guò)程中將這個(gè)包一并安裝好。

命令行安裝:pip install pyinstaller

編寫(xiě)python程序

使用pyinstaller打包

在命令行執(zhí)行pyinstaller命令即可自動(dòng)化打包

命令行打包:pyinstaller hello.py

如果程序有多個(gè)模塊文件贸典,那么pyinstaller命令只需要對(duì)程序入口文件打包即可视卢,pyinstaller會(huì)去找入口文件中所引用的依賴(lài)模塊

查看打包結(jié)果

不帶任何參數(shù)的命令執(zhí)行完后,會(huì)在當(dāng)前目錄下生成build目錄廊驼,dist目錄以及spec文件(如下圖)据过,并將程序打包成一個(gè)以程序文件名命名的目錄(包含可執(zhí)行文件及其他依賴(lài)文件),保存到dist目錄下

如果打包的程序沒(méi)有窗口界面蔬充,則生成的exe程序會(huì)以命令行窗口的形式運(yùn)行蝶俱,程序運(yùn)行完會(huì)自動(dòng)退出,所以在測(cè)試階段建議在命令行窗口中執(zhí)行exe程序饥漫,以便查看程序的打印信息榨呆。

常用參數(shù)說(shuō)明

-F將程序打包成一個(gè)單獨(dú)的exe文件而不是包含很多文件的目錄

-wpyinstaller生成的exe文件是從命令行開(kāi)始執(zhí)行的,對(duì)于GUI程序(如Tkinter開(kāi)發(fā)的桌面程序)庸队,加上-w參數(shù)后积蜻,exe程序執(zhí)行后就不會(huì)顯示命令行窗口

-i如果想為exe文件生成一個(gè)自定義圖標(biāo),可以使用-i參數(shù)彻消,后面跟上ico文件名

e.g. pyinstaller -i icon.ico hello.py

--add-data添加程序需要引用的外部文件

e.g. pyinstaller --add-data config;. hello.py

更多參數(shù)的使用方法可以閱讀詳細(xì)文檔

https://pyinstaller.readthedocs.io/en/v3.3.1/usage.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末竿拆,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子宾尚,更是在濱河造成了極大的恐慌丙笋,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,548評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件煌贴,死亡現(xiàn)場(chǎng)離奇詭異御板,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)牛郑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,497評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)怠肋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人淹朋,你說(shuō)我怎么就攤上這事笙各。” “怎么了础芍?”我有些...
    開(kāi)封第一講書(shū)人閱讀 167,990評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵杈抢,是天一觀(guān)的道長(zhǎng)。 經(jīng)常有香客問(wèn)我者甲,道長(zhǎng)春感,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,618評(píng)論 1 296
  • 正文 為了忘掉前任虏缸,我火速辦了婚禮鲫懒,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘刽辙。我一直安慰自己窥岩,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,618評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布宰缤。 她就那樣靜靜地躺著颂翼,像睡著了一般。 火紅的嫁衣襯著肌膚如雪慨灭。 梳的紋絲不亂的頭發(fā)上朦乏,一...
    開(kāi)封第一講書(shū)人閱讀 52,246評(píng)論 1 308
  • 那天,我揣著相機(jī)與錄音氧骤,去河邊找鬼呻疹。 笑死,一個(gè)胖子當(dāng)著我的面吹牛筹陵,可吹牛的內(nèi)容都是我干的刽锤。 我是一名探鬼主播,決...
    沈念sama閱讀 40,819評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼朦佩,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼并思!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起语稠,我...
    開(kāi)封第一講書(shū)人閱讀 39,725評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤宋彼,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后仙畦,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體输涕,經(jīng)...
    沈念sama閱讀 46,268評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,356評(píng)論 3 340
  • 正文 我和宋清朗相戀三年议泵,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了占贫。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,488評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡先口,死狀恐怖型奥,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情碉京,我是刑警寧澤厢汹,帶...
    沈念sama閱讀 36,181評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站谐宙,受9級(jí)特大地震影響烫葬,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,862評(píng)論 3 333
  • 文/蒙蒙 一搭综、第九天 我趴在偏房一處隱蔽的房頂上張望垢箕。 院中可真熱鬧,春花似錦兑巾、人聲如沸条获。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,331評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)帅掘。三九已至,卻和暖如春堂油,著一層夾襖步出監(jiān)牢的瞬間修档,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,445評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工府框, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留吱窝,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,897評(píng)論 3 376
  • 正文 我出身青樓寓免,卻偏偏與公主長(zhǎng)得像癣诱,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子袜香,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,500評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • GitHub 上有一個(gè) Awesome - XXX 系列的資源整理,資源非常豐富撕予,涉及面非常廣。awesome-p...
    若與閱讀 18,662評(píng)論 4 418
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,280評(píng)論 25 707
  • # Python 資源大全中文版 我想很多程序員應(yīng)該記得 GitHub 上有一個(gè) Awesome - XXX 系列...
    aimaile閱讀 26,502評(píng)論 6 427
  • 那一年初來(lái)乍到 2014年新媒體運(yùn)營(yíng)風(fēng)靡大江南北吆寨,企業(yè)都在開(kāi)微信號(hào)吸粉,早期的自媒體人也搶得了先機(jī)踩寇,個(gè)人號(hào)運(yùn)營(yíng)的風(fēng)...
    初之閱讀 7,040評(píng)論 17 6
  • 文明的推進(jìn)就是讓弱勢(shì)的一方也能享有該享的權(quán)利啄清,坐下來(lái)談判,制定雙方認(rèn)可的規(guī)則俺孙,妥協(xié)辣卒、尋找中間地帶也是解決方式,單純...
    牛牛牛牛牛魔王閱讀 247評(píng)論 1 17