將Python程式(.py)轉換為Windows可執行檔案(.exe)

木子昭發表於2017-09-27

python開發者向普通windows使用者分享程式,要給程式加圖形化的介面(傳送門:這可能是最好玩的python GUI入門例項! http://www.jianshu.com/p/8abcf73adba3),並要將軟體打包為可執行檔案(.exe結尾),那如何將.py轉為.exe ?

將.py轉為.exe

第一步:安裝pyinstaller(臨時呼叫了國內豆瓣映象源,這樣下載比較快)

pip install pyinstaller -i https://pypi.douban.com/simple

第二步:更改編碼方式(window使用者專用)

由於windows預設編碼是gbk,而我們的開發環境(unix環境)預設編碼使用utf-8,為解決編碼問題,我們需要對pyinstaller原始碼進行一些修改

修改讀取方式為:utf-8

pyinstaller中winmainifest.py中的第1075行,修改為with open(filename,encoding="UTF-8") as f:

winmainifest.py的位置:C:Program Files (x86)Python36-32Libsite-packagesPyInstallerutilswin32winmanifest.py,如果找不到,可以先嚐試第三步,如果轉換過程報錯,會列印出這個檔案在本機的位置.
如果許可權不夠,無法儲存修改,可以先將修改後的檔案,儲存到桌面(保持原來的檔名),用桌面的檔案替換原目錄中的檔案即可!

第三步:將.py轉換為.exe

> 這裡以`Python GUI入門例項`為例(Python GUI入門例項傳送門:http://www.jianshu.com/p/8abcf73adba3

命令:pyinstaller --onefile 011根據ip查詢地理位置.py

建立打包為.exe檔案

第四步:執行測試

編譯後的目錄

生成的.exe檔案在dist資料夾內

將資料庫檔案GeoLiteCity.dat拷貝到dist資料夾中

完整的程式

執行可執行檔案(.exe)

以管理員身份執行
成功執行效果

教程涉及到的資源我都通過百度網盤分享給大家,為了便於大家的下載,資源整合到了一張獨立的帖子裡,連結如下:
http://www.jianshu.com/p/4f28e1ae08b1


相關文章