TShopping

 找回密碼
 註冊
搜索
查看: 263|回復: 0
打印 上一主題 下一主題

[教學] 使用 PyInstaller 將 Python打包成 exe 或 sh 檔

[複製鏈接]
跳轉到指定樓層
1#
發表於 2023-9-18 23:12:03 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
 
Push to Facebook

利用Python寫了一個小腳本想要傳給使用Windows但沒有裝Python的朋友執行,這時候就可以利用將檔案包裝成exe檔案,讓沒有Python的朋友也可以執行。本篇將介紹利用套件「PyInstaller」製作exe檔。

筆者環境目前為:Windows 10 (64位元)與Power Shell與Python3, PyCharm。


安裝方法
  1. #透過pip安裝pyinstaller
  2. pip install pyinstaller#如果失敗可以使用以下的方法進行安裝
  3. pip install https://github.com/pyinstaller/pyinstaller/archive/develop.tar.gz
複製代碼


  • pyinstaller -h 來查看參數
  • -F 打包成一個exe文件
  • –icon=圖標路徑
  • -w 使用視窗,無控制台
  • -c 使用控制台,無視窗
  • -D 創建一個目錄,包含exe以及其他一些依賴性文件



舉個例子

如下圖所示,我們編寫一個輸出Hello,Pyladies!的Python程式,並利用input()使程式可以暫時停在輸出畫面。

Windows使用者執行

  1. pyinstaller -F .\darknet.py
複製代碼


,會在命令框看到目前進度。

mac 使用者則是執行

  1. pyinstaller -F ./darknet.py
複製代碼


, 因為command line 是正斜線。



可以透過進度發現這個套件在執行命令之後:
  • 會先建立一個 hello.spec
  • 建立「build」 資料夾
  • 建立 log紀錄檔與工作檔案於資料夾 build 中
  • 建立 「dist 」資料夾
  • 建立執行檔(.exe)在 「dist」 資料夾

進入「dist」資料夾可看見執行檔。

可執行程式,如圖所示。


何謂__pycache__ ?

放編譯時需要的檔案用的檔案。

當你在python中運行程序時,解釋器首先將其編譯為字節碼(這是一個過度簡化),並將其存儲在__pycache__文件夾中。

編譯不出現的方法:利用python -B foo.py使__ pycache__資料夾不出現。



注意事項

執行檔案可在win8/win10,64位元的電腦運行,但win7 x64和其餘所有32位失敗,會提示不兼容,若要能32位元與64位元皆可運行,就要在Python 32位元的環境下編譯PyInstaller打包exe,才能在32位元與64位元成功。


封裝成Linux sh 文件

在Linux環境下,打包成Linux可執行程式(需要事先安裝好相關的依賴套件)

  1. pyinstaller -F darknet.py
複製代碼

在目錄下的dist目錄下產生darknet



參考文章
https://medium.com/pyladies-taiw ... %AA%94-32a4bacbe351
https://blog.csdn.net/qq_29277155/article/details/107554762

 

臉書網友討論
*滑块验证:
您需要登錄後才可以回帖 登錄 | 註冊 |

本版積分規則



Archiver|手機版|小黑屋|免責聲明|TShopping

GMT+8, 2024-4-28 17:47 , Processed in 0.045848 second(s), 25 queries .

本論壇言論純屬發表者個人意見,與 TShopping綜合論壇 立場無關 如有意見侵犯了您的權益 請寫信聯絡我們。

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表