python——pyinstaller生成exe基本使用和遇到的坑

一、安裝python

pip install pyinstaller

二、常規操做函數

在cmd界面(以前安裝python或者anaconda的時候正確添加環境變量的話,是能夠在cmd界面直接執行pyinstaller的)編碼

pyintaller [選項] py文件路徑spa

選項:.net

-F 生成單個可執行文件,而不是生成一個文件夾,裏面都是dll文件命令行

-w 去掉控制檯窗口,若是是本身寫的GUI程序,通常都要用這個,但若是是命令行程序,千萬別用這個呀。code

-p 你本身自定義須要加載的類路徑,若是正確添加環境變量的話,這個是不須要的。blog

-i 指定可執行文件的圖標,後面跟ico文件的路徑便可ip

示例:utf-8

pyinstaller -F a.py

三、坑1

Cannot find existing PyQt5 plugin directories 
Paths checked: C:/Users/ray/qtb-3.5-64/_b_env/Library/plugins 

這個。。。緣由我是感受很迷。

受到大佬啓發:https://blog.csdn.net/weixin_43116379/article/details/82316163

將pyqt5.dll和pyqt5qmlplugin.dll複製到報錯的路徑。雖然很迷爲何,可是確實解決了問題。(用資源管理器自帶的搜索功能搜這兩個文件)

 

 四、坑2

 UnicodeDecodeError: 'utf-8' codec can't decode byte 0xce in position 110: invalid continuation byte

這個仍是由於C語言(通常Python的底層是C)對中文的支持不太好。有些漢字沒法正常編碼。

受到大佬啓發 https://blog.csdn.net/qq_41185868/article/details/80599390

一、刪除全部中文註釋

  (程序裏面的中文能夠不刪,親測用下面的方法能夠正常生成exe文件)

二、先在cmd界面中輸入 chcp 65001,將控制檯編碼改爲‘utf-8’,再直接使用pyinstaller -F a.py打包便可。

親測可用,感謝大佬!

 

 

最終正常生成了exe文件,而且能正常運行。

 

不過在這我要吐槽。用了pandas,requests,re這些模塊以後。。。生成的exe文件居然這麼大。聽說它是把全部庫都編譯了一遍加到exe文件裏了。

因此之後開發,能值引入函數的就只引入函數,儘可能不要把整個庫都引入。

相關文章
相關標籤/搜索