Python文件打包成EXE,轉自https://blog.csdn.net/MrLevo520/article/details/51840217

安裝pyinstaller

安裝方法

方法一:使用pip install pyinstaller,也可以參考: python如何安裝第三方包

方法二:如果是下載github上的包之後手動安裝,那麼步驟是

  1. 打開cmd,切到pyinstaller解壓包目錄,我直接放在c盤目錄下了,所以我的操作是

cd C:\pyinstaller-develop

  1. 安裝pyinstaller,我的操作是

進目錄後輸入python setup.py install

包下載

親測可用:Pyinstaller下載地址,GitHub版本,親測可用

備用地址不:Pyinstaller官網下載地址,我沒試過,應該也行

程序打包

先將需要打包的程序,我用自己的Tkint.py文件(自己python文件名字自己修改),把它複製到步驟1的目錄下,也就是上面的C:\pyinstaller-develop然後使用命令:pyinstaller -F Tkint.py(建議使用)

注意:如果運行的是gui類型程序,你不需要彈出命令窗口,你可以採用:pyinstaller -F -w文件名.py 
之後你的命令窗就會跑半分鐘左右,跑完之後是這樣的; 
這裏寫圖片描述

打包好的Tkint.exe已經在該目錄下的dist文件夾中了。如果成功,應該多了這兩個文件夾

這裏寫圖片描述

dist裏面是這樣的 
這裏寫圖片描述 
然後你就可以拿去給別的機器測試你的程序啦,哈哈哈哈哈

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

BTW

但是,如果你使用pyinstaller -F -w文件名.py在別的電腦運行你的exe文件時候你看不到命令窗口,你會認爲程序沒有運行,打包後的exe比較大,以我的Tkint.py來說,160行的程序,打包後61MB,額,我直接插在U盤上在別的電腦運行,大概需要半分鐘左右才能跑起來,所以請慢慢等待。。。。如果你還要改圖標,創建目錄啥的,請使用pyinstaller -h來查看參數

這裏寫圖片描述

如果覺得內容不夠細緻,可以參考

用PyInstaller將python轉成可執行文件exe筆記 或者用PyInstaller把Python代碼打包成單個獨立的exe可執行文件

補充

  • 2016.7.7補坑: 基於python的參考文獻生成器beta已完成,歡迎下載和使用免費下載基於python的文獻生成器.exe

  • 2016.7.8補充: 利用Pyinstaller編譯關聯文件成exe,只要輸入時候寫成pyinstaller -F main.py related.py即可,其中main爲主函數,其中有import related.py的函數,只要把重要的放前面就好啦,然後最後的exe文件名會以第一個命名,也就是最後形成一個main.exe就是醬紫。修改spec文件,重新加上參數再編譯。按照正常步驟做過之後,在目錄中還會有一個spec文件,用編輯器打開,之後修改參數,保存後,在原來操作的cmd上寫入:pyinstaller main.spec即可,這個是我在gui圖像生成exe格式時候,圖片無法打包查閱到的,需要單獨添加


Mac下發布應用

安裝py2app

pip install py2app
  • 1

或者手動下載安裝點這裏

打包程序

首先在桌面新建一個文件夾,我這裏名字爲transapp,然後把要打包的程序放在裏面,我這裏要打包的是translate.py文件,自己的文件夾和文件名字自己響應替換

  • 進入終端,切路徑至該文件夾下
cd ~/Desktop/transapp
  • 1
  • 開始產生初始化文件
py2applet --make-setup translate.py
  • 1
  • 保險起見,清除以前產生的build和dist文件夾,第一次操作這兩個文件夾是沒有的
rm -rf build dist
  • 1
  • 開始打包應用
python setup.py py2app
  • 1

這時候會開始執行打包過程,最後大概是這樣的

...
Modules not found (conditional imports):
 * _md5 (hashlib)
 * _sha (hashlib)
 * _sha256 (hashlib)
 * _sha512 (hashlib)
 * com (pkg_resources._vendor.appdirs)
 * com.sun.jna (pkg_resources._vendor.appdirs)
 * com.sun.jna.platform (pkg_resources._vendor.appdirs)
 * riscospath (os)
 * win32com (pkg_resources._vendor.appdirs)
 * win32com.shell (pkg_resources._vendor.appdirs)

Done!
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 找到自己的文件夾,然後裏面應該有dist文件夾,打開后里面有個app,雙擊即可。

測試時候, py2app版本0.14,macos版本10.12.14,測試通過,最後效果圖如下所示

這裏寫圖片描述



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章