見字如面,朋友們!
嗨,這里是 AIGC 創意人_竹相左邊!
正如你們所知,我正在通過 AI 自學軟硬件工程師,目標是手搓一臺可回收火箭玩具!
最近,我被《流浪地球 2》中馬兆的那句“沒有硬件支撐,你破解個屁”深深打動——硬件和軟件的結合,才是硬核的靈魂!
今天,我想和大家分享一個實用技巧:如何將我的 Flask 項目封裝成一個即開即用的 .exe 文件,讓沒有編程知識的同事也能輕松使用。
跟著我一步步操作,打造屬于我們的“軟件硬件之光”吧!
一、為什么要封裝為 .exe?
在開發 Flask 項目時,我們通常需要在 Python 環境中運行,依賴如 Flask、Pillow 等庫。對于編程小白或非技術同事來說,配置環境、安裝依賴簡直是“天坑”。封裝成 .exe 文件的好處在于:
- 無需安裝 Python:所有依賴打包到一起,雙擊運行即可。
- 跨平臺友好:Windows 用戶直接使用(Mac/Linux 可考慮其他工具)。
- 即開即用:就像火箭點火,啟動即飛!
二、準備工作與工具
在開始之前,確認你的開發環境已準備好:
- Python 環境:確保已安裝 Python 3.x(我用的是 3.9,穩定得很!)。
- PyInstaller:安裝命令:pip install pyinstaller,這是我們封裝的“火箭引擎”。
- 項目文件:包括 app.py、routes、templates、static 和 utils 文件夾。
三、整代碼以支持打包
我們需要修改 app.py,添加以下功能:
- 檢測是否以打包形式運行(PyInstaller 會在運行時設置 sys._MEIPASS)。
- 正確設置 templates 和 static 文件夾路徑。
- 啟動程序后自動打開瀏覽器。
四、準備打包環境
- 確保 PyInstaller 已安裝:在你的開發環境中,安裝 PyInstaller:
pip install pyinstaller
? - 生成 requirements.txt:確保所有依賴都被記錄,運行以下命令生成 requirements.txt:
pip freeze > requirements.txt
? - 項目結構:確認你的項目目錄結構如下:
五、使用 PyInstaller 打包
- 進入項目目錄:
cd D:\20250219\ai_work\jpg2pdf
- 運行 PyInstaller 打包命令: 使用 --onefile 選項打包成單個 .exe 文件,同時使用 --add-data 包含 templates 和 static 文件夾。
pyinstaller --onefile --add-data "templates;templates" --add-data "static;static" app.py
? - Windows 系統下,路徑分隔符使用 ;。
- 打包結果: 打包完成后,dist 文件夾中會生成 app.exe。
六:測試打包后的 .exe
- 將 app.exe 復制到桌面: 復制 dist\app.exe 到你的桌面或其他測試目錄。
- 雙擊運行 app.exe:
- 程序會啟動 Flask 服務器。
- 默認會自動打開瀏覽器,訪問 http://127.0.0.1:5000。
七、小貼士與優化
- 添加圖標:用 --icon app.ico 自定義 .exe 圖標。
- 隱藏命令行:加 --noconsole 讓界面更友好(但保留調試用)。
- 問題排查:如果運行失敗,檢查是否有缺少的 DLL(如 VCRUNTIME140.dll),建議同事安裝 Microsoft Visual C++ Redistributable。