詳解將Python程序(.py)轉(zhuǎn)換為Windows可執(zhí)行文件(.exe)
python開發(fā)者向普通windows用戶分享程序,要給程序加圖形化的界面(傳送門:這可能是最好玩的python GUI入門實(shí)例! http://www.dhdzp.com/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,而我們的開發(fā)環(huán)境(unix環(huán)境)默認(rèn)編碼使用utf-8,為解決編碼問題,我們需要對(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)換過程報(bào)錯(cuò),會(huì)打印出這個(gè)文件在本機(jī)的位置.
如果權(quán)限不夠,無(wú)法保存修改,可以先將修改后的文件,保存到桌面(保持原來(lái)的文件名),用桌面的文件替換原目錄中的文件即可!
第三步:將.py轉(zhuǎn)換為.exe
>這里以`Python GUI入門實(shí)例`為例(Python GUI入門實(shí)例傳送門: http://www.dhdzp.com/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)行效果
教程涉及到的資源我都通過百度網(wǎng)盤分享給大家,為了便于大家的下載,資源整合到了一張獨(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寫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文件字符串轉(zhuǎn)列表時(shí)遇到空行的問題
下面小編就為大家?guī)?lái)一篇解決python文件字符串轉(zhuǎn)列表時(shí)遇到空行的問題。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧2017-07-07
Pytorch學(xué)習(xí)之torch用法----比較操作(Comparison Ops)
這篇文章主要介紹了Pytorch學(xué)習(xí)之torch用法----比較操作(Comparison Ops),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2020-06-06
python讀取raw binary圖片并提取統(tǒng)計(jì)信息的實(shí)例
今天小編就為大家分享一篇python讀取raw binary圖片并提取統(tǒng)計(jì)信息的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2020-01-01
一文帶你了解Python中的數(shù)據(jù)序列化與反序列化
Python提供了豐富的工具和庫(kù)來(lái)處理數(shù)據(jù)序列化與反序列化,本文帶領(lǐng)大家一起學(xué)習(xí),包括基本概念、常見的序列化格式、示例和最佳實(shí)踐,快跟隨小編一起學(xué)習(xí)起來(lái)吧2023-10-10
Python調(diào)用高德API實(shí)現(xiàn)批量地址轉(zhuǎn)經(jīng)緯度并寫入表格的功能
這篇文章主要介紹了Python調(diào)用高德API實(shí)現(xiàn)批量地址轉(zhuǎn)經(jīng)緯度并寫入表格的功能,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01
mac 上配置Pycharm連接遠(yuǎn)程服務(wù)器并實(shí)現(xiàn)使用遠(yuǎn)程服務(wù)器Python解釋器的方法
這篇文章主要介紹了mac 上如何配置Pycharm連接遠(yuǎn)程服務(wù)器并實(shí)現(xiàn)使用遠(yuǎn)程服務(wù)器Python解釋器,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03
Python實(shí)現(xiàn)智能貪吃蛇游戲的示例代碼
我想大家都玩過諾基亞上面的貪吃蛇吧,這篇文章將帶你一步步用python語(yǔ)言實(shí)現(xiàn)一個(gè)snake小游戲,文中的示例代碼講解詳細(xì),感興趣的可以了解一下2022-07-07

