1. 程式人生 > >將自己的python程式打包成exe(秀同學一臉吶)

將自己的python程式打包成exe(秀同學一臉吶)

Windows 10 x64 
Python 2.7 
IDE Pycharm 5.0.3

實際需求才是讓我學習的最大動力啊~~

這裡寫圖片描述

起因

今天實驗室同學看到我的乞丐版二輸入規則器,他挺感興趣的,也想要玩玩,但是他沒有裝python的環境,總不能讓他一直玩我電腦吧,所以想到了將程式打包成exe,直接執行!想法一出來,根本擋不住啊,說幹就幹,先百度python打包exe,一大堆答案,我整理了一下,大概有Py2exe和pyinstaller兩種,但是,我給你看張圖 
這是多久前的產品。。。。。。
這是多久前的產品啊,我屮艸芔茻,如果你執意要用這個請移步,然後自己去玩把,反正我下了之後,根本跑不起來,,,,你可以試試咯py2exe官方下載

正題時間

最後我還是選擇了pyinstaller,而且親測成功

在同學win8/win10,64位機器上可以執行,win7 x64和其餘所有32位親測失敗,會提示不相容,所以說,如果要32/64通吃,就要在python32位環境下(不是win32位)編譯打包exe,才能在32/64成功。 
先放上pyinstaller包

至於怎麼安裝pyinstaller

可以參考python如何安裝第三方包 
我的步驟是: 
1,開啟cmd,切到pyinstaller解壓包目錄,我直接放在c盤目錄下了,所以我的操作是 
C:\Users\MrLevo>cd C:\pyinstaller-develop

2.安裝pyinstaller,我的操作是 
進目錄後輸入python setup.py install

3開始最簡單的py程式打包 
先將需要打包的程式,我用自己的Tkint.py,把它複製到步驟1的目錄下,(自己py檔名字自己修改)然後使用命令: 
pyinstaller -F Tkint.py(建議使用)

如果執行的是gui型別程式,你不需要彈出命令視窗,你可以採用:pyinstaller -F -w檔名.py 
之後你的命令窗就會跑半分鐘左右,跑完之後是這樣的; 
這裡寫圖片描述

打包好的Tkint.exe已經在該目錄下的dist資料夾中了。如果成功,應該多了這兩個資料夾 
這裡寫圖片描述

dist裡面是這樣的 
這裡寫圖片描述

 
然後你就可以拿去給別的機器測試你的程式啦,哈哈哈哈哈

BTW

但是,如果你使用pyinstaller -F -w檔名.py在別的電腦執行你的exe檔案時候你看不到命令視窗,你會認為程式沒有執行,打包後的exe比較大,以我的Tkint.py來說,160行的程式,打包後61MB,額,我直接插在U盤上在別的電腦執行,大概需要半分鐘左右才能跑起來,所以請慢慢等待。。。。

如果你還要改圖示,建立目錄啥的,請使用pyinstaller -h來檢視引數 
這裡寫圖片描述

慣例挖坑

有空把我的加密登入做個gui出來,連線本地表格那種,然後打包exe分享下。挖坑以後埋

so ,piece out,guys 
這裡寫圖片描述 
(話說今天的pandas還沒看,簡直作死,還得把開題報告改改,麻蛋,我還是先寫個大小寫首字母轉換再說,這參考文獻寫的簡直了!!)

補充

7.7補坑,基於python的參考文獻生成器beta已完成,歡迎下載和使用免費下載基於python的文獻生成器.exe 
下次再把程式碼和構思補上,再挖坑

7.8補充 
利用Pyinstaller編譯關聯檔案成exe 
只要輸入時候寫成 
pyinstaller -F main.py related.py 
即可,其中main為主函式,其中有import related.py的函式,只要把重要的放前面就好啦,然後最後的exe檔名會以第一個命名,也就是最後形成一個main.exe就是醬紫。

修改spec檔案,重新加上引數再編譯。 
按照正常步驟做過之後,在目錄中還會有一個spec檔案,用編輯器開啟,之後修改引數,儲存後,在原來操作的cmd上寫入:

pyinstaller main.spec
  • 1
  • 1

即可,這個是我在gui影象生成exe格式時候,圖片無法打包查閱到的,需要單獨新增