国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【python】tkinter程序打包成exe可執(zhí)行文件 全流程記錄(windows系統(tǒng))

這篇具有很好參考價值的文章主要介紹了【python】tkinter程序打包成exe可執(zhí)行文件 全流程記錄(windows系統(tǒng))。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

【需求背景】

Tkinter 是 Python 的標準 GUI 庫。Python 使用 Tkinter 可以快速的創(chuàng)建 GUI 應(yīng)用程序。

我用python寫了一個可視化界面,利用算法計算患COVID-19的概率。

現(xiàn)在需要將Python文件編譯成exe文件,這樣可以直接在Windows上運行,不需要再依賴Python環(huán)境,可以復制到其他電腦中直接使用。

tkinter打包exe,python,開發(fā)語言? ? →? ? ?tkinter打包exe,python,開發(fā)語言

?

?【操作流程】

1. 安裝編譯工具

pyinstaller是Python中將py文件編譯成為exe文件的免費工具,特別好用,在Windows中,pyinstaller依賴pywin32,所在如果打包有問題請先安裝pywin32模塊,安裝命令如下:

pip install pywin32   # 第一行代碼
pip install pyinstaller  # 第二行代碼

一般直接運行第二行代碼,安裝pyinstaller即可,如果不行再執(zhí)行第一行代碼。

2. 編譯命令

2.1 運行時出現(xiàn)dos命令窗口

常用編譯命令為:pyinstaller -F 待編譯目標文件
例如:

pyinstaller -F demo.py  # demo.py就是你的python代碼文件名,你可以換成自己的

2.2 運行時不出現(xiàn)dos命令窗口

在將帶有tkinter等界面打包成exe時,運行exe文件的時候,會彈出一個dos命令窗口,這個窗口可以看到一些打印信息,如果想只運行tkinter 頁面,去掉dos命令窗口,需要在打包的時候 加上:?-w
例如:

pyinstaller -F demo.py -w

編譯完成后,一般會在當前文件夾中生成一個dist的文件夾,一個build文件夾和一個demo.spec文件,編譯后的exe文件就在dist文件夾中。

3. 編譯后exe文件太大問題

3.1 可能遇到的問題

很多時候,我們的Python腳本文件本身是很小的,才幾十KB,但編譯后達到幾十MB甚至上百MB,主要原因是在編譯時會把Python環(huán)境及庫一起打包到exe文件中,如果我們的Python環(huán)境中安裝了很多包,比如通過Anaconda安裝的Python環(huán)境時,通過會安裝了很多Python庫,如果在此環(huán)境中進行編譯,那么就會把所有的庫帶上,導致編譯后的exe文件很大。


3.2 解決辦法

為該文件單獨創(chuàng)建相應(yīng)的Python虛擬環(huán)境,只安裝要編譯Python文件所依賴的庫(導入到該Python文件中的庫),在該虛擬環(huán)境中安裝pyinstaller編譯工具(這點很重要),然后運行該虛擬環(huán)境,在虛擬環(huán)境下執(zhí)行編譯,這時文件就會小很多。
親測十分有效,單獨創(chuàng)建Python虛擬環(huán)境后編譯,exe文件大小由原來的95MB減少到16MB,運行速度也快了10倍,原來界面加載出來要40~50秒,現(xiàn)在只要不到5秒。
?

3.3 Windows虛擬環(huán)境創(chuàng)建方法

安裝virtualenv(任意一個地方cmd就可以了):

pip install virtualenv

然后創(chuàng)建一個虛擬環(huán)境(建議將這個虛擬環(huán)境放在需要打包的python文件夾中,便于后續(xù)處理):

virtualenv py2exe_env  # 命名請自定義,我這里是命名為py2exe_env

創(chuàng)建完成以后,我們就會在創(chuàng)建的文件夾里發(fā)現(xiàn)虛擬環(huán)境命名的文件夾py2exe_env:

tkinter打包exe,python,開發(fā)語言

?然后cd 到虛擬環(huán)境py2exe_env的Script目錄下,輸入如下命令啟動虛擬環(huán)境:

activate py2exe_env

?就可以在該虛擬環(huán)境中通過pip安裝必要模塊,注意:別忘了重新安裝pyinstaller !,另外,如果程序中還用到了其他包,也記得安裝。

安裝完成后,在該虛擬環(huán)境中(虛擬環(huán)境啟動狀態(tài)下),cd到要編譯文件目錄下,輸入編譯命令:

pyinstaller -F test.py -w  # 運行時不出現(xiàn)dos命令窗口

或者

pyinstaller -F test.py  # 運行時出現(xiàn)dos命令窗口

4. customtkinter庫的與眾不同

customtkinter類似tkinter,圖形更加美觀一些,但是網(wǎng)上檢索只能看到大量tkinter打包成exe的教程,我按照網(wǎng)上的步驟操作后發(fā)現(xiàn),雙擊生成的exe,出現(xiàn)黑色命令創(chuàng)口,大約10s后閃退,沒有任何反應(yīng)。

查找錯誤,在exe文件夾中cmd,輸入剛生成的exe文件(我的是demo.exe),一般會有具體的報錯信息。

tkinter打包exe,python,開發(fā)語言

?報錯信息顯示說,缺少一個json文件。

最開始我也是在缺失的文件上下功夫,缺少啥就補啥的中心思想,但是找了很久也沒有找到類似的報錯信息,后來還是在報錯信息中的鏈接找到了答案。

Packaging · TomSchimansky/CustomTkinter Wiki · GitHub

?當使用 pyinstaller 在 Windows 上創(chuàng)建 .exe 時,需要考慮兩件事,

(1)customtkinter庫不僅包含.py文件,還包含.json和.otf等數(shù)據(jù)文件。PyInstaller 無法將它們打包到單個 .exe 文件中,因此您必須使用該--onedir選項。

(2)您必須使用 pyinstaller 選項手動包含 customtkinter 目錄--add-data。因為出于某種原因,pyinstaller 不會自動包含庫中的 .json 等數(shù)據(jù)文件。

?找到你電腦上customtkinter 庫的安裝位置

pip show customtkinter

tkinter打包exe,python,開發(fā)語言

?將顯示很多信息,其中Location顯示的就是customtkinter 庫。

然后像這樣添加庫文件夾:

--add-data "c:\users\33057\anaconda3\lib\site-packages/customtkinter;customtkinter/"

所以,在打包的時候,完整語句就是

pyinstaller --noconfirm --onedir --windowed --add-data "c:/users/33057/anaconda3/lib/site-packages/customtkinter;customtkinter/" "demo.py"

5、原代碼中有導出數(shù)據(jù)到excel的操作

我需要將每次用于在計算器中輸入的數(shù)據(jù)保存到excel中,按照上述流程打包后,如果沒有導出數(shù)據(jù)部分,則可以運行,但是加了以下代碼后,又出現(xiàn)了沒有任何反應(yīng)的情況。

tkinter打包exe,python,開發(fā)語言

?還是通過cmd,執(zhí)行exe文件排查錯誤,最后發(fā)現(xiàn)是虛擬環(huán)境中缺少openpyxl這個包,于是在激活的虛擬環(huán)境中安裝這個包。

如果你的程序中還用到了其他包,打包成exe文件后,可以嘗試考慮是否是缺少某個包導致的。

至此,完成了基于customtkinter編寫的GUI界面的python程序打包成exe執(zhí)行文件的全部流程,在生成的dist文件中會生成一個新的文件夾,比如我的是demo文件夾,在這個文件夾中找到exe文件,即可使用。

如果在其他電腦使用,需要將整個demo文件打包過去。

tkinter打包exe,python,開發(fā)語言

tkinter打包exe,python,開發(fā)語言?

?

參考文章或鏈接:

https://blog.csdn.net/Artificial_idiots/article/details/109554749文章來源地址http://www.zghlxwxcb.cn/news/detail-788993.html

到了這里,關(guān)于【python】tkinter程序打包成exe可執(zhí)行文件 全流程記錄(windows系統(tǒng))的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Python使用最新版pyinstaller將項目或程序打包成exe或者mac中的可執(zhí)行文件

    Python使用最新版pyinstaller將項目或程序打包成exe或者mac中的可執(zhí)行文件

    pyinstaller 能夠在 Windows、Linux、Mac 等操作系統(tǒng)下將 Python 源文件打包,通過對源文件打包, Python 程序可以在沒有安裝 Python 的環(huán)境中運行,也可以作為一個獨立文件方便傳遞和管理。 PyInstaller 支持 Python 2.7 和 Python 3.3+??梢栽?Windows、Mac 和 Linux 上使用,但是并不是跨平臺的,

    2024年02月08日
    瀏覽(30)
  • Python3.9使用最新版pyinstaller將項目或程序打包成exe或者mac中的可執(zhí)行文件

    Python3.9使用最新版pyinstaller將項目或程序打包成exe或者mac中的可執(zhí)行文件

    pyinstaller 能夠在 Windows、Linux、Mac 等操作系統(tǒng)下將 Python 源文件打包,通過對源文件打包, Python 程序可以在沒有安裝 Python 的環(huán)境中運行,也可以作為一個獨立文件方便傳遞和管理。 PyInstaller 支持 Python 2.7 和 Python 3.3+??梢栽?Windows、Mac 和 Linux 上使用,但是并不是跨平臺的,

    2024年02月09日
    瀏覽(25)
  • 【Python打包成exe】快速將多個py文件及其他文件打包為exe可執(zhí)行文件

    【Python打包成exe】快速將多個py文件及其他文件打包為exe可執(zhí)行文件

    嘗試了很多種Python打包為exe可執(zhí)行文件的方式,通過總結(jié),得出一種最簡潔、最有效的打包方式分享給大家! 準備好將要打包的工程文件(夾) 如上圖所示, 首先將主文件UI.py和文件夾./file放在一級文件夾./YW下方,如果有同級其他.py文件與UI.py放在同一級文件夾即可! 然后

    2024年01月21日
    瀏覽(29)
  • 手把手教python打包exe,打包一個簡易的小程序。tkinter,python初學者。編程初學者作業(yè):用*填充出自己的名字

    手把手教python打包exe,打包一個簡易的小程序。tkinter,python初學者。編程初學者作業(yè):用*填充出自己的名字

    【聲明】這篇文章可能寫的很差,作者技術(shù)不夠。但是一定原創(chuàng),一定用最簡單的語言,最詳細的描述讓沒有經(jīng)驗的讀者能夠懂得 【首言】exe是電腦上直接點擊就可以使用的。當你寫了一個.py文件,可以實現(xiàn)你的有趣功能,于是你高興的把這個發(fā)送給你的朋友,但是你的朋友

    2024年02月01日
    瀏覽(28)
  • python代碼打包成可執(zhí)行文件(exe)

    python代碼打包成可執(zhí)行文件(exe)

    【前言】:我們在開發(fā)完一個小項目后,想要把項目發(fā)布出來給別人用。通常都會把代碼打包成exe后再給別人,而不是讓別人去安裝運行環(huán)境再跑裸代碼。本文就是介紹如何使用pyinstaller這個工具將python帶包成可直接運行的exe。 在介紹pyinstaller之前,先簡單介紹下其它幾個可

    2024年02月12日
    瀏覽(21)
  • Python代碼打包成EXE可執(zhí)行文件(避開打包文件太大的坑)

    Python代碼打包成EXE可執(zhí)行文件(避開打包文件太大的坑)

    ??????? 目錄 一、博主的成長經(jīng)歷 ?二、虛擬環(huán)境下打包的好處 ?三、pyinstaller的基礎(chǔ)用法 四、虛擬環(huán)境打包操作實例 五、成果展示 歡迎大家來觀欄~? ——隨喬木涼夏 博主最初使用pyinstaller打包py文件的時候,用的很是順心,命令行復制粘貼,回車鍵一敲,不用多久

    2024年02月09日
    瀏覽(16)
  • Python程序打包exe可執(zhí)行軟件教程

    Python程序打包exe可執(zhí)行軟件教程

    Python雖好,但是平時我們寫的代碼都是.py腳本文件,必須要在Python環(huán)境下 才可以運行。如果一臺電腦沒有安裝Python是無法運行我們的程序的。當然你也可以選擇隨身攜帶安裝包。 不過終究是有些麻煩。那么有沒有什么辦法,能把我們編寫的Python代碼轉(zhuǎn)換成exe文件呢?這樣不

    2024年02月09日
    瀏覽(20)
  • 【Python】使用nuitka打包Python程序為EXE可執(zhí)行程序

    1.說明 寫好的Python程序如果想要拿到其他電腦上運行,那還得安裝一下Python環(huán)境和各種庫,這是比較麻煩的,所以有必要把它打包成一個可執(zhí)行的exe文件??梢源虬黣xe的庫有好多個,比如說pyinstaller、cx_Freeze等。 pyinstaller打包比較簡單,如果有需要可以參考之前的文章【Pyth

    2024年01月25日
    瀏覽(28)
  • 通過pyinstaller將python項目打包成exe執(zhí)行文件

    目錄 第一步:安裝pyinstaller 第二步:獲取一個ico圖標(也即是自己這個exe文件最后的圖標) 第三步:打包 pip install pyinstaller 先從這里獲取一個png圖片:iconfont-阿里巴巴矢量圖標庫 再轉(zhuǎn)化成ico圖片(推薦256 x 256):PNG轉(zhuǎn)ICO - 在線轉(zhuǎn)換圖標文件 ?可以把得到的ico圖片放在pytho

    2024年02月09日
    瀏覽(32)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包