網站首頁 編程語言 正文
前言
我原本是學C\C++,這是本人第一篇關于python的文章。請多多關照!
對于python為什么要打包成exe文件,是因為傳輸源文件以及源代碼給他人是需要配置好一定的環境才能進行編譯操作,而打包成exe文件就可以跟電腦軟件一樣打開就可以運行也可以分享給他人。但是打包好的exe文件并不是很方便去拆包,所以在打包前一定要測試之后在打包發布。
版本控制方面盡量選擇python3.6+32位版本,因為win64位系統向下兼容32位程序,如果不考慮32位系統的話無所謂,直接python64位版本直接打包就可以,但是只能在win64位系統運行。
好了下面我將從安裝pyinstaller開始介紹,然后是打包教程,最后是命令解釋。
PS:本次教程,我們不用cmd命令的小黑窗;
本次教程使用:Windows PowerShell(X86)
記得使用:管理員運行
圖片最好使用ico后綴的圖片,要么下載個格式轉換。自己轉換使用
一、安裝pyinstaller
1.1 安裝pyinstaller,使用安裝命令:
pip3 install pyinstaller
1.2 如果遇到需要更新版本請輸入:
pip install --upgrade pyinstaller
1.3 檢查是否正確安裝
emmmm好像安裝完成了,
1.4 稍等,水一下;
python打包工具眾多,推薦使用pyinstaller,本工具支持window和linux下使用。在windows下,大小為幾十kb的源文件,打包成exe文件可能為幾十兆,原因是把程序所引用的庫文件也一起打包在一起了。
二、python打包成exe文件(附帶圖標打包)
本次打包有兩種方法,根據自己勤快程度選擇吧!
2.1 第一種:cd到指定文件夾打包存放
第一步:移動到指定存放exe文件的文件夾
cd 文件夾路徑
例子:cd C:\FILE2\python_file
第二步:打包就完事了(看代碼)
pyinstaller -F -w -i 路徑一(圖標) 路徑二(py文件)
例子:pyinstaller -F -w -i D:\python_file\BindundunDemo\qt-logo.ico D:\python_file\BindundunDemo\main.py
2.2 第二種方法:cd到py源文件夾內打包存放
第一步:移動到源文件文件內
cd 文件夾路徑
例子:cd C:\FILE2\python
第二步:還是打包就完事了(看代碼)
pyinstaller -F -w -i 圖標名.后綴 源文件.py
例子:pyinstaller -F -w -i qt-logo.ico one.py
2.3最終效果
dist文件里存放的是你生成的exe文件,點擊即可使用。
至此,本次教程結束!
下面還有命令解釋,請細細品嘗。
參考:命令解釋
命令 | 命令全稱 | 命令解釋 |
---|---|---|
-F | –onefile | 打包成單個可執行文件,如果你的代碼都寫在一個.py文件,則可以使用,如果是多個.py文件,建議不要使用。 |
-D | –onedir | 打包多個文件,在dist中生成很多依賴文件,適合以框架形式編寫工具代碼,該方式代碼較易于維護。默認編譯就是-D的 |
-K | –tk | 在部署時包含 TCL/TK。 |
-a | –ascii | 不包含編碼.在支持Unicode的python版本上默認包含所有的編碼。 |
-d | –debug | 產生debug版本的可執行文件 |
-w | –windowed,–noconsole | 使用Windows子系統執行.當程序啟動的時候不會打開命令行(僅對Windows有效) |
-c | –nowindowed,–console | 使用控制臺子系統執行(默認)(只對Windows有效) |
-s | –strip | 可執行文件和共享庫將run through strip。注意Cygwin的strip可能使普通的win32 Dll無法使用 |
-X | –upx | 如果有UPX安裝(執行Configure.py時檢測),則會壓縮執行文件(Windows系統中的DLL也會)。 |
-o DIR | –out=DIR | 指定spec文件的生成目錄,如果沒有指定,而且當前目錄是PyInstaller的根目錄,會自動創建一個用于輸出(spec和生成的可執行文件)的目錄.如果沒有指定,而當前目錄不是PyInstaller的根目錄,則會輸出到當前的目錄下。 |
-p DIR | –path=DIR | 設置導入路徑(和使用PYTHONPATH效果相似)??梢杂寐窂椒指罘?Windows使用分號,Linux使用冒號)分割,指定多個目錄.也可以使用多個-p參數來設置多個導入路徑,讓pyinstaller自己去找程序需要的資源 |
-i <FILE.ICO> | –icon=<FILE.ICO> | 將file.ico添加為可執行文件的資源(只對Windows系統有效),改變程序的圖標 pyinstaller -i ico路徑 xxxxx.py |
–i <FILE.EXE, N> | –icon=<FILE.EXE, N> | 將file.exe的第n個圖標添加為可執行文件的資源(只對Windows系統有效) |
-v FILE | –version=FILE | 將verfile作為可執行文件的版本資源(只對Windows系統有效) |
-n NAME | –name=NAME | 可選的項目(產生的spec的)名字.如果省略,第一個腳本的主文件名將作為spec的名字 |
總結
原文鏈接:https://blog.csdn.net/weixin_45357007/article/details/123861771
- 上一篇:Qt實現電子時鐘_C 語言
- 下一篇:Qt實現拖動單個控件移動的示例代碼_C 語言
相關推薦
- 2022-02-23 IDEA git 拉取項目時報 No tracked branch configured for b
- 2022-10-05 Python實現打印彩色字符串的方法詳解_python
- 2022-05-29 C/C++迭代器的失效問題詳解_C 語言
- 2022-10-24 C語言進程程序替換的實現詳解_C 語言
- 2023-07-22 macos通過homebrew安裝多版本node
- 2024-04-08 Stack.peek()與Stack.pop() 以及 poll與pop
- 2023-07-09 windows找不到gpedit.msc,請確定文件名是否正確
- 2022-07-29 Pytest框架?conftest.py文件的使用詳解_python
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支