代碼編寫完成,如何在沒有python環境的電腦上運行?編寫了一個GUI程序,如何把文件打包好,發給別人直接使用?其實最簡單的辦法就是把.py源文件,打包成可執行程序員exe文件,別人直接雙擊exe文件就可以運行了。
python實現打包exe有很多方案,主要有py2exe、cxfreeze、PyInstaller三種,py2exe和cxfreeze的安裝過程比較麻煩,且對高版本python支持不好,雖然pyinstaller打包后文件相對較大,但是其安裝的簡單性和易用性得到廣大Python使用者的青睞,今天就介紹pyinstaller的使用。
安裝
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyinstaller
** 官方文檔:**https://pyinstaller.readthedocs.io。
常用參數
-h 查看幫助
-w 忽略控制臺,打包gui軟件時使用
-F dist目錄中只生成一個exe文件
-p 表示你自己定義需要加載的類庫的路徑
-D 創建dist目錄,里面包含exe以及其他一些依賴性文件(默認,可不添加)
-i 指定打包程序使用的圖標文件
命令使用:
使用cmd進入到項目文件夾,執行如下命令:
pyinstaller -i ico.png -F -w demo.py
可以使用自己的編寫的交互python打包,這里使用pysimplegui編寫的文件重命名程序舉例,具體代碼,看看文末鏈接。
image-20210422143005582
image-20210422152002715
默認方式,使用命令:pyinstaller fileren.py
執行完命令后,在項目文件夾下多出了三個文件,build,dist和fileren.spec、__pycache__。
除了dist文件夾,其它都可以刪除,沒什么用。
這種模式下,需要把整個dist文件夾發給別人才能運行。
image-20210422154003332
加上-F參數,全部的依賴文件都會被打包到exe文件中,在dist文件夾中只有一個可執行文件,
把這個可執行文件發給別人就可以直接運行了。
pyinstaller -w -F fileren.py
image-20210422161957815
默認的應用圖標,有點丑,介紹一個非常實用的圖標網站,找一個好看點的圖標。
https://www.easyicon.net/
image-20210422170829472
然后加上-i參數,重新打包:
pyinstaller -F -w -i folder.ico fileren.py
image-20210422163751316
1. 有時候,除了代碼本身,還包括一些外部資源文件,如圖片、配置文件等。可以修改第一次打包完成的配置文件XXX.spec配置文件,然后執行命令pyinstaller xxx.spec,便可按照spec文件中的新配置重新打包。
image-20210422164539331
binaries元組,二進制文件(如.exe/.dll/.so等),比如binaries=[('ci64.dll','.'),('ABDLL64.dll','.')]
datas元組,非二進制文件(如圖片文件、文本文件等),例如:datas=[('icons','icons’)]
2. 打包的文件很大,如何解決,最好的辦法創建虛擬環境,比如:
pip install virtualenv
cd F:\env
virtualenv env01 #創建env01的虛擬環境
cd F:\env\env\Scripts
activate #激活虛擬環境
pip安裝需要的依賴,在虛擬環境中運行通過。 把項目復制到虛擬環境執行命令:
3. 打包和執行exe文件的過程中,需要關閉殺毒軟件。
4. win10 64位打包成exe文件后,不能在32位系統運行,安裝32位python打包才可以。
原創不易,覺得有用,記得點個贊。
IT之家 7 月 14 日消息,微軟今日面向所有 Dev 開發人員推送了 Windows 11 Insider Preview Build 25158 版本,引入了一種帶有小部件的通知標記。
在這一版本中,微軟修復了持續已久的 WiFi 熱點導致斷網的問題,同時還指出部分使用 Easy Anti-Cheat 的游戲可能會在新版本中崩潰或導致電腦藍屏。
此外,微軟還放出了這一版本的安裝鏡像。
微軟宣布,將從這個版本開始在你的任務欄上推出更多動態的 Widgets 內容,并為這些 Widgets 添加通知標記。例如下圖就是一種 Widgets 的通知標記示例。
▲ 任務欄上窗口小部件的通知標記。
此外,當你打開小部件面板時,你可以在頂部看到一個橫幅,微軟表示將在此提供有關觸發通知標記的更多信息。
▲ 一條突發新聞
值得一提的是微軟此前宣布 Dev 頻道將采用 A / B 測試模式,所以目前也不是所有內部預覽人士都可以體驗到這一新功能。
感謝所有為我們先行探索 Windows 桌面輕量級交互內容提供反饋的業內人士!從這周的預覽版開始,我們將結束初步探索過程,所以如果你收到了這個新特性,它將會在你下次重啟時被刪除。
從這個版本開始,微軟將為不同的設備在任務欄上提供不同的“搜索”效果。當然,更新到最新版本后還需要重啟一遍才能觸發此功能,而且這一新功能同樣也不是所有人都會出現的。
DNS over TLS 測試現已支持 Windows DNS 客戶端查詢保護。DoT 是除 DNS over HTTPS (DoH) 之外的另一種協議,Windows 11 和 Windows Server 2022 已支持該協議。
Nyala 字體已更新,現已支持來自 Ethiopic Extended-B Unicode 范圍的 Gurage 語言正字法的音節。還修訂和替換了埃塞俄比亞語字距調整,以修復早期實施中的差距和錯誤,改善了埃塞俄比亞語語言文本的整體質感。
修復了導致一些內部人員在最近的版本中出現藍屏并以及 NetAdapterCx.sys 報錯 KMODE_EXCEPTION_NOT_HANDLED 的問題。
修復了在最近的預覽版中從低功耗狀態下恢復時導致某些 PC 持續黑屏的問題。
修復了一個在最近幾個版本中普遍影響 Windows shell 性能的問題。
修復了 Mica 和 Acrylic 模糊效果有時在開始菜單、通知中心和其他區域中渲染不正確的問題。
修復了在極少數情況下關閉命令欄彈出按鈕可能會導致 explorer.exe 崩潰的問題。
修復了在啟用 OneDrive 的情況下通過文件資源管理器導航時可能導致 explorer.exe 崩潰的問題。
CTRL + F4 現在應該可以關閉當前選項卡。
在新選項卡中打開壓縮文件夾時,現在應該不會再出現空白選項卡名稱的問題。
如果焦點位于選項卡行上,CTRL + W 將不再關閉兩個選項卡,而只是是焦點所在的選項卡。
修正了 CTRL + Tab 重新排列選項卡后無法按正確順序循環的問題。
我們做了一些調整,所以當你使用“在標題中顯示完整路徑”時,文件夾名稱總會在文件資源管理器頂部的選項卡中顯示。
修復了一個潛在問題,該問題可能導致在最近的預覽版中卸載應用程序后固定的應用程序圖標卡在任務欄上。
修復了與加載小部件相關的最后幾個預覽版中的高幾率 explorer.exe 崩潰問題。
使用 CTRL + Shift + 右箭頭將固定的應用程序移動到作為“開始”中最后一項的文件夾中時,“開始”應該不會再崩潰。
修復了一些 Insider 在打開 Start 時遇到的崩潰問題。
講述人現在將閱讀嘗試從“開始”正確卸載應用程序時打開的提示。
修復了使用 IRowsetPriorititization 時為查詢行集設置范圍優先級沒有正確改變行集的索引速度,從而導致整體索引速度變慢的問題。
搜索“電源模式”現在應該會在“設置”中返回電源模式條目。
將網絡和 Internet > 高級網絡設置 > 數據使用下的“系統”條目更新為“系統和 Windows 更新”。
進行了另一個修復以解決重新啟動后音頻設備的“收聽此設備”選項將停止工作的問題。
修復了一些內部人員在導航藍牙和設備 > 打印機和掃描儀時看到的崩潰。
修復了藍牙和設備 > 設備 > 更多藍牙設置下的“允許藍牙設備找到這臺電腦”復選框有時不會顯示正確狀態的問題。
修復了在嘗試使用 Cast 部分投射到某些設備時導致 ARM64 PC 的快速設置崩潰的問題。
修復了可能導致快速設置中 Wi-Fi 密碼框旁邊的眼睛圖標在首次使用后消失的問題。
修復了 textinputhost.exe 初始化中的崩潰,該崩潰在最近的飛行中的某些情況下發生。
修復了“設置”>“系統”>“剪貼板”下的“跨設備同步”選項無法保持啟用狀態的問題。
更新了 Times New Roman 字體系列,使其包含 U+061D / ARABIC END OF TEXT MARK。
我們進行了一些改進以幫助提高打開任務視圖的性能。
進行了修復,以便使用講述人關閉上下文菜單的兩指三次輕擊觸摸手勢再次正常工作。
修復了某些服務在實際上不是子進程時意外分組到 Microsoft Edge 下的問題。
修復了開啟移動熱點后會導致網絡連接斷開的問題。
解決了在某些情況下可能導致移動熱點按鈕意外卡在灰色狀態的問題。
修復了在某些情況下導致您的手機崩潰的潛在問題。
修復了 Microsoft Defender 應用程序防護窗口在最近幾次預覽版中不可見的潛在問題。
修復了使用建議操作時可能發生的崩潰。
修復了使用 Xbox Game Bar 錄制游戲剪輯時的一個潛在問題,該問題可能導致稍后在 iOS 設備上查看時無法正確顯示所保存的視頻。
進行了一些改進以幫助解決導致 Microsoft Store 中的應用程序無法下載并出現錯誤 0x80080204 的問題。
解決了導致 Microsoft Store 應用修復失敗并出現錯誤 0x803FB004 的潛在問題。
做了一些工作來解決打印對話框未在應用程序中心啟動的問題(例如,在記事本中)。
注意:此處在 Dev Channel 的 Insider Preview 版本中提到的一些修復可能會進入 Windows 11 已發布版本的服務更新。
[新] 正在調查有關 SQL Server Management Studio 無法啟動的問題反饋。
某些使用 Easy Anti-Cheat 的游戲可能會崩潰或導致您的 PC 出現錯誤檢查。
文件資源管理器選項卡中的向上箭頭未對齊。這將在未來的更新中修復。
正在努力解決以下問題:在使用暗色模式時以某些方式啟動文件資源管理器會在亮色模式下意外顯示文件資源管理器的主體。
[新] 通知徽章編號可能會在任務欄上顯示未對齊。
[新] 在某些情況下,某些徽章的通知橫幅不會出現在小部件板上。
我們正在修復導致小部件首選項(溫度單位和固定小部件)意外重置為默認值的問題。
某些全屏應用(例如視頻播放器)會導致實時字幕五無法顯示。
某些位于屏幕頂部附近并在實時字幕運行前關閉的應用程序將在位于頂部的實時字幕窗口后重新啟動。當應用程序有焦點時,使用系統菜單 (ALT + 空格) 將應用程序的窗口進一步向下移動。