詳解將Python程序(.py)轉(zhuǎn)換為Windows可執(zhí)行文件(.exe)
python開(kāi)發(fā)者向普通windows用戶分享程序,要給程序加圖形化的界面(傳送門(mén):這可能是最好玩的python GUI入門(mén)實(shí)例! http://www.dbjr.com.cn/article/165763.htm),并要將軟件打包為可執(zhí)行文件(.exe結(jié)尾),那如何將.py轉(zhuǎn)為.exe ?
將.py轉(zhuǎn)為.exe
第一步:安裝pyinstaller(這里臨時(shí)調(diào)用了國(guó)內(nèi)豆瓣鏡像源,這樣下載比較快)
pip install pyinstaller -i https://pypi.douban.com/simple
第二步:更改編碼方式(window用戶專用)
由于windows默認(rèn)編碼是gbk,而我們的開(kāi)發(fā)環(huán)境(unix環(huán)境)默認(rèn)編碼使用utf-8,為解決編碼問(wèn)題,我們需要對(duì)pyinstaller源碼進(jìn)行一些修改
修改讀取方式為:utf-8
將 pyinstaller
中winmainifest.py中的第1075行,修改為 with open(filename,encoding="UTF-8") as f:
winmainifest.py
的位置: C:\Program Files (x86)\Python36-32\Lib\site-packages\PyInstaller\utils\win32\winmanifest.py
,如果找不到,可以先嘗試第三步,如果轉(zhuǎn)換過(guò)程報(bào)錯(cuò),會(huì)打印出這個(gè)文件在本機(jī)的位置.
如果權(quán)限不夠,無(wú)法保存修改,可以先將修改后的文件,保存到桌面(保持原來(lái)的文件名),用桌面的文件替換原目錄中的文件即可!
第三步:將.py轉(zhuǎn)換為.exe
>這里以`Python GUI入門(mén)實(shí)例`為例(Python GUI入門(mén)實(shí)例傳送門(mén): http://www.dbjr.com.cn/article/165763.htm)
命令: pyinstaller --onefile 011根據(jù)ip查詢地理位置.py
創(chuàng)建打包為.exe文件
第四步:運(yùn)行測(cè)試
編譯后的目錄
生成的.exe文件在dist文件夾內(nèi)
將數(shù)據(jù)庫(kù)文件GeoLiteCity.dat拷貝到dist文件夾中
完整的程序
運(yùn)行可執(zhí)行文件(.exe)
以管理員身份運(yùn)行
成功運(yùn)行效果
教程涉及到的資源我都通過(guò)百度網(wǎng)盤(pán)分享給大家,為了便于大家的下載,資源整合到了一張獨(dú)立的帖子里,鏈接如下:
http://www.jianshu.com/p/4f28e1ae08b1
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Windows下將Python文件打包成.EXE可執(zhí)行文件的方法
- 在python中實(shí)現(xiàn)調(diào)用可執(zhí)行文件.exe的3種方法
- 將Python文件打包成.EXE可執(zhí)行文件的方法
- 將Python代碼打包成.exe可執(zhí)行文件的完整步驟
- 如何利用python寫(xiě)GUI及生成.exe可執(zhí)行文件
- python調(diào)用可執(zhí)行文件.exe的2種實(shí)現(xiàn)方法
- PyInstaller將Python腳本打包為.exe可執(zhí)行文件的步驟詳解
- 詳解如何將Python可執(zhí)行文件(.exe)反編譯為Python腳本
- Python打包成.exe可執(zhí)行文件的詳細(xì)步驟
- Python生成可執(zhí)行文件.exe操作完整流程記錄
相關(guān)文章
python如何解析復(fù)雜sql,實(shí)現(xiàn)數(shù)據(jù)庫(kù)和表的提取的實(shí)例剖析
這篇文章主要介紹了python如何解析復(fù)雜sql,實(shí)現(xiàn)數(shù)據(jù)庫(kù)和表的提取的實(shí)例剖析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-05-05python Hypothesis生成和執(zhí)行大量的測(cè)試用例
Hypothesis是一個(gè)基于屬性的測(cè)試(property-based testing)庫(kù),它能夠幫助我們生成和執(zhí)行大量的測(cè)試用例,與傳統(tǒng)的單元測(cè)試相比,屬性測(cè)試更加靈活和全面,能夠發(fā)現(xiàn)更多的邊界情況和潛在的錯(cuò)誤2024-01-01解決jupyter notebook打不開(kāi)無(wú)反應(yīng) 瀏覽器未啟動(dòng)的問(wèn)題
這篇文章主要介紹了解決jupyter notebook打不開(kāi)無(wú)反應(yīng) 瀏覽器未啟動(dòng)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-04-04mac 上配置Pycharm連接遠(yuǎn)程服務(wù)器并實(shí)現(xiàn)使用遠(yuǎn)程服務(wù)器Python解釋器的方法
這篇文章主要介紹了mac 上如何配置Pycharm連接遠(yuǎn)程服務(wù)器并實(shí)現(xiàn)使用遠(yuǎn)程服務(wù)器Python解釋器,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03Pytorch技巧:DataLoader的collate_fn參數(shù)使用詳解
今天小編就為大家分享一篇Pytorch技巧:DataLoader的collate_fn參數(shù)使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-01