Pyinstaller打包工具使用說明

PyInstaller是python程序打包工具甫男,打包發(fā)布三個(gè)平臺(Window、Mac炮赦、Linux)。

一样勃、PyInstaller在window系列生成可執(zhí)行程序包吠勘。

先大致介紹一些我的項(xiàng)目需求,想做一個(gè)window的桌面程序峡眶,使用C#開發(fā)的剧防,開發(fā)工具使用的是Visual studio開發(fā);但核心質(zhì)檢代碼是python開發(fā)的幌陕,開發(fā)工具使用的是PyCharm诵姜。

使用PyInstaller打包Python程序。

第一步:切換PyCharm環(huán)境

注意:網(wǎng)上有人說使用虛擬環(huán)境可使打出包搏熄,更簡潔。但是我沒有成功暇赤,就自己建立一個(gè)本地環(huán)境心例。

切換環(huán)境

第二步:測試Python程序正常運(yùn)行

1、我使用Python XX.py parameter測試源程序運(yùn)行正常鞋囊。(可以直接運(yùn)行等其他方式運(yùn)行測試)


測試程序運(yùn)行
第三步:安裝PyInstaller

可以還用pip install pyinstaller或conda install pyinstaller止后。


安裝PyInstaller
第四步:驗(yàn)證打包程序

使用命令pyinstaller -F xxx.py打包程序


驗(yàn)證打包程序

運(yùn)行過程會打印處一些基礎(chǔ)信息PyInstaller、python、platform 版本信息译株。我的程序已經(jīng)打包成功會在dist文件下生成xx.exe文件瓜喇。


生成exe文件
補(bǔ)充:

有時(shí)候,即使命令正確且相關(guān)依賴沒有問題歉糜,打包好的exe文件在其他電腦上仍無法正常運(yùn)行乘寒。這時(shí),可以嘗試創(chuàng)建一個(gè)新的純凈環(huán)境匪补,僅安裝所需的依賴伞辛,避免其他冗余依賴的干擾。例如夯缺,我之前遇到過類似問題蚤氏,通過重新建立一個(gè)環(huán)境并只下載必要的依賴,最終成功解決了問題踊兜,打包后的exe文件也能在其他電腦上正常運(yùn)行竿滨。可能是因?yàn)橐蕾囘^多時(shí)捏境,打包過程中會導(dǎo)致部分依賴丟失或無法正確打包于游。
(盲猜這種玄學(xué)問題是因?yàn)橐蕾囘^多打包的時(shí)候會導(dǎo)致部分依賴丟失或者不能正確進(jìn)行打包)

新建的環(huán)境明顯少了很多不需要的依賴
第五步:驗(yàn)證exe文件

使用命令XX.exe parameter。
注意:因exe文件中需要一些源程序的配置等文件典蝌,我把dist生成的exe拷貝到xx.py程序的同目錄下曙砂。這樣運(yùn)行不會報(bào)錯(cuò)。

驗(yàn)證exe文件成功

使用Visual Studio生成桌面程序

我們使用Visual Studio做了一些簡單界面工作骏掀,讓所有的exe文件可以一起使用的管理界面鸠澈。
界面就不上傳了,下面把調(diào)用exe代碼給大家看看截驮。

            string exe_path = @"..\..\SLDX_compliance_check_tool.exe";  // 被調(diào)exe
            string the_args = @"..\..\job_order.json";   // 被調(diào)exe接受的參數(shù)

            Process myPro = new Process();
            ProcessStartInfo psi = new ProcessStartInfo(exe_path, the_args);
            myPro.StartInfo = psi;
            myPro.Start();
            myPro.WaitForExit();
第六步:使用Visual Studio打包程序

使用Visual Studio打包發(fā)布程序笑陈,看了一些網(wǎng)上的教程,大致有兩種方法葵袭。
先介紹一種簡單的方式如下:
找到程序位置涵妥,在bin/debug下面找到y(tǒng)y.exe(yy為window程序名),直接打開運(yùn)行即可坡锡∨钔可以把整的項(xiàng)目壓縮,移植到其他window電腦直接使用鹉勒。
另外一種發(fā)布程序方法TODO下期更新帆锋;;禽额;

二锯厢、Mac

三皮官、Linux

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市实辑,隨后出現(xiàn)的幾起案子捺氢,更是在濱河造成了極大的恐慌,老刑警劉巖剪撬,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件摄乒,死亡現(xiàn)場離奇詭異,居然都是意外死亡婿奔,警方通過查閱死者的電腦和手機(jī)缺狠,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來萍摊,“玉大人挤茄,你說我怎么就攤上這事”荆” “怎么了穷劈?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長踊沸。 經(jīng)常有香客問我歇终,道長,這世上最難降的妖魔是什么逼龟? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任评凝,我火速辦了婚禮,結(jié)果婚禮上腺律,老公的妹妹穿的比我還像新娘奕短。我一直安慰自己,他們只是感情好匀钧,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布翎碑。 她就那樣靜靜地躺著,像睡著了一般之斯。 火紅的嫁衣襯著肌膚如雪日杈。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天佑刷,我揣著相機(jī)與錄音莉擒,去河邊找鬼。 笑死瘫絮,一個(gè)胖子當(dāng)著我的面吹牛啰劲,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播檀何,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了频鉴?” 一聲冷哼從身側(cè)響起栓辜,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎垛孔,沒想到半個(gè)月后藕甩,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡周荐,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年狭莱,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片概作。...
    茶點(diǎn)故事閱讀 40,096評論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡腋妙,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出讯榕,到底是詐尸還是另有隱情骤素,我是刑警寧澤,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布愚屁,位于F島的核電站济竹,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏霎槐。R本人自食惡果不足惜送浊,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望丘跌。 院中可真熱鬧袭景,春花似錦、人聲如沸碍岔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蔼啦。三九已至榆纽,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間捏肢,已是汗流浹背奈籽。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留鸵赫,地道東北人衣屏。 一個(gè)月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓,卻偏偏與公主長得像辩棒,于是被迫代替她去往敵國和親狼忱。 傳聞我的和親對象是個(gè)殘疾皇子膨疏,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評論 2 355

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