py文件打包為exe

原文鏈接?

我經(jīng)常用python寫些腳本什么的钾腺,有時候腳本寫完以后瞻离,每次運行都得在IDE打開在運行,很麻煩力惯,所以經(jīng)常將python編譯成exe.SO...有了一點經(jīng)驗,在這和大家分享一下召嘶。

python 打包成exe 主要有兩種父晶,一種是py2exe,另一種便是pyInstaller弄跌,之前我是用py2exe的甲喝,但是我后來發(fā)現(xiàn)py2exe存在問題:1,打包好的 exe只能在相同的系統(tǒng)下運行铛只,比如你在XP系統(tǒng)用py2exe打包好的exe只能在XP上運行埠胖,在win7上肯定有問題,而且也是存在在別的XP機(jī)子上也可能不能運行淳玩,因為一些別的機(jī)子可能會缺少dll文件什么的直撤,作者我當(dāng)時之所以拋棄py2exe 也是因為這個原因;2蜕着,打包的文件也需要打包同exe下的dll谋竖,和一些庫的壓縮包红柱,不然exe根本跑不起來

所以作者強(qiáng)烈建議大家在python打包的話使用pyInstaller,在這我主要同大家分享pyInstaller的打包方法.

話不多說蓖乘,開始.....

pyInstaller是一款用于將pyhon程序打包成exe文件的工具锤悄,pyInstaller不是一個python的包, 只需要把pyInstaller的文件下載下來放到任意為止都可以嘉抒,也就是說pyInstaller相當(dāng)于獨立出來專門干打包python的工具零聚,這貨是工具不是庫,也不是包...

1.下載安裝pyinstaller些侍,下載網(wǎng)址:http://www.pyinstaller.org/去下載隶症,然后解壓到任意目錄.(注意:在pyinstaller2.0之前的版本要是移動這個文件夾的話,需要改一些配置娩梨,不然pyinstaller會因為你的移動不能使用.這個和后面的配置環(huán)境有關(guān).pyinstaller2.0的版本就沒有限制.)

2.編譯配置環(huán)境(以解壓到F:盤為例子)

①沿腰, pyinstaller-2.0的方法:

打開cmd cd進(jìn)入解壓后的目錄下的sorce下,即:cdF:\pyinstaller-2.0\source

運行 python ./waf configure build install

*(可能需要安裝pywin32.下載并安裝即可狈定,重新運行命令即可)

②颂龙,? pyinstaller-1.5

打開cmd cd進(jìn)入pyinstaller解壓目錄,cdF:\pyinstaller-1.5

運行?? python Configure.py

*(可能需要安裝pywin32.下載并安裝即可纽什,重新運行命令即可)

結(jié)果提示保存在config.dat文件中措嵌。其中config.dat文件存放在pyinstaller的根目錄。

3. 將自己寫的py程序打包exe

①芦缰, pyinstaller-2.0的方法:

將自己寫的py文件(HelloWorld.py)拷貝到pyinstaller解壓目錄下企巢,

打開cmd cd進(jìn)入解壓后的目錄下,即:cdF:\pyinstaller-2.0\

運行命令 python pyinstaller.py [opts] yourprogram.py

在此處則是運行:

在目錄下會生成一個helloworld的文件夾让蕾,里面存放 HelloWorld.spec文件浪规,;兩個文件夾(dist探孝,buildi)笋婿,可以運行的exe則放在/dist/yourprogram下

②,? pyinstaller-1.5

將自己寫的py文件(HelloWorld.py)拷貝到pyinstaller解壓目錄下顿颅,

打開cmd cd進(jìn)入解壓后的目錄下缸濒,即:cdF:\pyinstaller-1.5\

pyinstaller-1.5和 pyinstaller-2.0 的區(qū)別來了。

在 pyinstaller-1.5 中你先需要生成spec文件粱腻,然后通過spec文件在生成exe文件庇配,而 pyinstaller-2.0 在執(zhí)行命令(請看上面)后會同時吧exe和spec文件都生成出來了

所以在 pyinstaller-1.5 你得先生成spec文件:

python Makespec.py? [opts] yourprogram.py

運行命令: python Makespec.py? [opts] HelloWorld.py

此時在此目錄下生成的 HelloWorld文件夾,文件夾下有一個 HelloWorld.spec文件绍些,將文件在拷貝到目錄(F:\pyinstaller-1.5\)下

運行命令: python Build.py HelloWorld.spec

4.你會發(fā)現(xiàn)按照上面的方法在/yourprogram/dist/yourprogram下除了需要的exe文件捞慌,也存在很多dll文件,然后你會開始抱怨作者我坑爹了吧....

哈哈遇革,如果你這么發(fā)現(xiàn)了卿闹,說明揭糕,你已經(jīng)完成用最基礎(chǔ)的pyinstaller打包了萝快,關(guān)于如何pyinstaller請往下看:

不管是pyinstaller-1.5還是pyinstaller-2.0锻霎,要想打包成一個文件,或者將文件的圖標(biāo)修改等等操作揪漩,這些都與你在運行命令時有關(guān)系旋恼,還記得命令是什么嗎?

pyinstaller-2.0 是:

python pyinstaller.py [opts] yourprogram.py

pyinstaller-1.5 是:

python Makespec.py? [opts] yourprogram.py

那些打包成一個文件奄容,或者將文件的圖標(biāo)修改等等操作都和這個 [opts] 有關(guān)系.

下面舉些例子(客官一看便知冰更,以 pyinstaller-2.0為例子,1.5通用):

①昂勒, 打包成一個文件:

python pyinstaller.py --onefile? yourprogram.py

②蜀细,修改exe的圖標(biāo)(D:\BabyWandH\src\faviconw.ico為圖標(biāo)的存放路徑):

python pyinstaller.py --onefile? --icon=D:\BabyWandH\src\faviconw.ico?? yourprogram.py

[opts]的一些說明(具體可以看pyinstaller官網(wǎng)http://www.pyinstaller.org/expor ... talling-pyinstaller):

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市戈盈,隨后出現(xiàn)的幾起案子奠衔,更是在濱河造成了極大的恐慌,老刑警劉巖塘娶,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件归斤,死亡現(xiàn)場離奇詭異,居然都是意外死亡刁岸,警方通過查閱死者的電腦和手機(jī)脏里,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來虹曙,“玉大人迫横,你說我怎么就攤上這事≡吞迹” “怎么了矾踱?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長击敌。 經(jīng)常有香客問我介返,道長,這世上最難降的妖魔是什么沃斤? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任圣蝎,我火速辦了婚禮,結(jié)果婚禮上衡瓶,老公的妹妹穿的比我還像新娘徘公。我一直安慰自己,他們只是感情好哮针,可當(dāng)我...
    茶點故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布关面。 她就那樣靜靜地躺著坦袍,像睡著了一般。 火紅的嫁衣襯著肌膚如雪等太。 梳的紋絲不亂的頭發(fā)上捂齐,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天,我揣著相機(jī)與錄音缩抡,去河邊找鬼奠宜。 笑死,一個胖子當(dāng)著我的面吹牛瞻想,可吹牛的內(nèi)容都是我干的压真。 我是一名探鬼主播,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼蘑险,長吁一口氣:“原來是場噩夢啊……” “哼滴肿!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起佃迄,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤泼差,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后和屎,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體拴驮,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年柴信,在試婚紗的時候發(fā)現(xiàn)自己被綠了套啤。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,059評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡随常,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出绪氛,到底是詐尸還是另有隱情唆鸡,我是刑警寧澤,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布枣察,位于F島的核電站争占,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏序目。R本人自食惡果不足惜臂痕,卻給世界環(huán)境...
    茶點故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望猿涨。 院中可真熱鬧握童,春花似錦、人聲如沸叛赚。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至肥卡,卻和暖如春溪掀,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背召调。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工膨桥, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留蛮浑,地道東北人唠叛。 一個月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像沮稚,于是被迫代替她去往敵國和親艺沼。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,792評論 2 345

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