成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

解決python 打包成exe太大的問題

瀏覽:2日期:2022-06-25 16:45:36

這是一個很長的故事,嫌長的直接看最后的結論

事情經過

上周接了個需求,寫了個小工具給客戶,他要求打包成exe文件,這當然不是什么難事。因為除了寫Python的,絕大多數人電腦里都沒有Python編譯器,所以打包成exe,讓用戶(windows)雙擊就可以打開,也算是必備技能了。

直接用Pyinstaller,打開cmder:

pyinstaller -Fw E:testurl_crawler.py

(-F 是打包成一個文件,-w是不出現調試窗口,因為我的小工具里有GUI,所以不用默認的調試窗口)

等了好久,終于完成打包,一看文件,嚯,200M!怪不得打包了這么久...

上網查了下資料,有人說,Anaconda里內置了很多庫,打包的時候打包了很多不必要的模塊進去,要用純凈的Python來打包。

有點道理,想著裝虛擬機時間更長,準備拿出閑置的筆記本,重新裝個Python來打包。

可剛巧我最近在學flask的時候,用到pipenv,雖然還不懂pipenv的強大之處,但知道它是個管理虛擬環境和包的工具,于是想著能不能用pipenv來創建一個新的python編譯器以運行pyinstaller進行打包。

于是趕緊上網查了一下,pipenv pyinstaller,沒有搜到有用的信息,干脆自己試一試,反正pipenv操作不麻煩。

打開cmder:

#建立虛擬環境pipenv install#進入虛擬環境pipenv shell#安裝模塊pip install 小工具.py里面用到的模塊#打包的模塊也要安裝pip install pyinstaller#開始打包pyinstaller -Fw E:testurl_crawler.py

打包完成,一看大小,11M!成功!

后來因為客戶改了需求,我又改了一下源代碼,然后換了個目錄用pipenv重新打包,結果打包完又變回200M!嘗試了無數次,怎么也回不到過去的20M!我都懷疑之前的20M是我的幻覺了。

不過無論如何要先交差,200M的“小“工具,用戶體驗肯定不行,所以我就用排除法,看看是哪個模塊占的體積大,再想辦法優化。最先懷疑的是GUI,我幾乎毫不猶豫地認定是它,我用的是PySimpleGUI(強烈推薦,基于tkinter),先把PySimpleGUI的內容注釋掉,再進行打包,你們猜打包完有多大?

198M!

看來是我錯怪他了,經過幾次排除,發現了罪魁禍首就是:fake_useragent

這個庫是用來偽裝請求頭的,主要是我懶得復制user-agent,所以問題不大,把fake_useragent注釋掉,自己手動粘貼一個user-agent就行了

#from fake_useragent import UserAgent #ua = UserAgent()#headers = {’user-agent’:ua.random}headers = {’user-agent’:’Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.17 Safari/537.36’}

不用fake_useragent,打包成exe是 14M,已經不錯了,先交差再說

之后經過了多次探索,多次放棄的邊緣(反復刪除創建環境),終于找到了完美打包的方法

結論

關鍵點就一個:要在虛擬環境里安裝pyinstaller

如果你沒有在虛擬環境中安裝pyinstaller,你同樣可以使用pyinstaller命令,但是調用的是你系統原本的那個python編譯器,內含很多關聯庫,導致即使在虛擬環境中,你打包的exe文件仍然非常大。

另外一點要注意的是:要在虛擬環境里安裝好你py文件中調用的庫,不然打包出來也沒法正常運行。

最后再復習一下正確流程 (前提是安裝好pipenv):

#建立虛擬環境pipenv install#進入虛擬環境(上一步可省略,因為沒有虛擬環境的話會自動建立一個)pipenv shell#安裝模塊pip install requests pyquery pysimplegui fake_useragent#打包的模塊也要安裝pip install pyinstaller#開始打包pyinstaller -Fw E:testurl_crawler.py

補充:python代碼如何打包為.exe文件

我使用的python版本為3.6,現在最新的python版本是3.7,但是pyinstaller現在還不支持最新的3.7,所以大家不要用最新版本的python,最新版本的兼容性不好。

下面我們正式開始吧:

一、我們點擊電腦的開始菜單,搜索cmd。

解決python 打包成exe太大的問題

二、安裝pyinstaller

python3自帶pip installer,所以我們直接輸入pip install pyinstaller并按回車,如下圖

解決python 打包成exe太大的問題

三、用pyinstaller生成.exe文件

1、在D盤新建一個hello.py文件做測試

解決python 打包成exe太大的問題

hello.py的內容為:

解決python 打包成exe太大的問題

2、在命令行中找到hello.py的目錄

解決python 打包成exe太大的問題

3、輸入pyinstaller 文件名.py也就是 pyinstaller hello,py

pyinstaller -F hello.py生成的是單一的exe文件,這樣比較簡便,缺點是exe文件過大

解決python 打包成exe太大的問題

或者:

解決python 打包成exe太大的問題

4、運行成功后,將在hello.py的同目錄下生成一個dist文件夾,打開后找到exe文件運行即可

解決python 打包成exe太大的問題

打開dist文件

解決python 打包成exe太大的問題

雙擊運行一下

解決python 打包成exe太大的問題

成功了!你學會了嗎?

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。如有錯誤或未考慮完全的地方,望不吝賜教。

標簽: Python 編程
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
欧美高清视频一区| 99久久久免费精品国产一区二区| 国产精品99久久久久久久女警| 免费亚洲视频| 亚洲乱码精品一二三四区日韩在线 | 色天使久久综合网天天| 一区二区三区欧美久久| 国内自拍亚洲| 国产精品国产三级国产三级人妇| 欧美一区二区在线| 久久精品一区二区三区不卡牛牛| 成人激情免费网站| 欧美岛国在线观看| 大陆成人av片| 日韩三级电影网址| 成人性生交大片免费看中文网站| 91精品国产欧美一区二区18| 韩国v欧美v日本v亚洲v| 久久一区二区三区超碰国产精品 | 国产做a爰片久久毛片| 在线亚洲人成电影网站色www| 亚洲妇熟xx妇色黄| 久久xxxx精品视频| 亚洲网友自拍偷拍| 久久精品人人| 久久精品国产99国产精品| 欧美吻胸吃奶大尺度电影| 免费高清在线一区| 欧美综合欧美视频| 美女任你摸久久| 欧美视频一区二区三区| 美女在线视频一区| 欧美日韩成人综合天天影院 | 欧美成人午夜| 国产精品电影院| 亚洲激精日韩激精欧美精品| 亚洲女人的天堂| 中文国产一区| 爽好多水快深点欧美视频| 91久久国产综合久久| 久久精品国产99久久6| 欧美日韩高清影院| 成人av网址在线观看| 国产欧美日韩中文久久| 欧美激情1区2区| 国产精品系列在线| 国产精品永久| 麻豆成人久久精品二区三区小说| 欧美人与性动xxxx| jlzzjlzz国产精品久久| 国产精品久久久久久久久动漫| 9色国产精品| 日韩—二三区免费观看av| 欧美午夜理伦三级在线观看| 国产美女视频一区| 精品精品国产高清a毛片牛牛| 欧美精品一区二区视频 | 亚洲激情自拍视频| 91福利精品视频| 国产一区999| 国产亚洲精品超碰| 亚洲激情一区| 免费不卡在线视频| 777午夜精品免费视频| 欧美日韩精品久久| 亚洲欧美电影院| 一本高清dvd不卡在线观看| 国产精品资源站在线| 欧美国产精品久久| 另类亚洲自拍| 国产精品一区二区久久精品爱涩| 国产午夜精品理论片a级大结局| 极品尤物久久久av免费看| 亚洲成av人片在线观看无码| 欧美一区二区三区白人| 欧美日韩综合| 日韩成人av影视| 2024国产精品| 国产视频一区免费看| 韩国一区二区三区| 欧美精品一区二区三区高清aⅴ| 亚洲国产一区二区三区在线播| 青青草国产精品亚洲专区无| 日韩丝袜美女视频| 亚洲三级电影在线观看| 久久er99精品| 国产精品丝袜久久久久久app| 夜夜爽av福利精品导航| 精油按摩中文字幕久久| 国产亚洲精品中文字幕| 亚洲欧美日韩一区在线观看| 麻豆91在线看| 国产精品私房写真福利视频| 色哟哟日韩精品| 色综合咪咪久久| 日韩中文字幕1| 欧美另类久久久品| 在线视频观看日韩| 国产精品一区二区你懂的| 亚洲裸体xxx| 日韩视频在线你懂得| 一区二区精品在线| 国产精品一级黄| 亚洲毛片av在线| 日韩精品最新网址| 久久久久一区二区| 99r国产精品| 日本中文一区二区三区| 欧美极品少妇xxxxⅹ高跟鞋| 日本丰满少妇一区二区三区| 午夜久久资源| 男人的j进女人的j一区| 国产精品毛片高清在线完整版| 色偷偷成人一区二区三区91| 欧美精品一区在线| 国产精品99久久久久久有的能看| 亚洲午夜在线电影| 亚洲精品一区二区三区在线观看| 免播放器亚洲| 欧美一区激情| 精品一区二区三区在线播放视频| 亚洲视频小说图片| 日韩欧美国产不卡| 久久综合一区二区三区| 欧美激情一区| 国产成人免费视频一区| 亚洲一区二区视频| 国产亚洲精品资源在线26u| 欧美午夜在线观看| 国产精品久久久久毛片大屁完整版| 99久久精品免费精品国产| 美女性感视频久久| 亚洲天堂免费在线观看视频| 久久综合资源网| 欧美肥妇free| 久久天堂成人| 91久久午夜| 91丝袜国产在线播放| 国产一区二区伦理片| 天使萌一区二区三区免费观看| 国产精品久久久久精k8| 欧美刺激午夜性久久久久久久| 在线亚洲精品福利网址导航| 夜夜爽www精品| 欧美日韩国产高清| 成人丝袜高跟foot| 激情文学综合丁香| 亚洲v中文字幕| 国产精品国产三级国产专播品爱网 | 精品国产一区二区三区av性色| 欧美三级资源在线| 男人的天堂亚洲| 亚洲大片av| 女同一区二区| 91小视频在线免费看| 国产福利一区二区三区视频在线 | 91看片淫黄大片一级| 不卡的av网站| 国产激情视频一区二区三区欧美 | 国精产品一区一区三区mba视频 | 综合久久久久综合| 国产欧美日韩不卡| 久久综合资源网| 欧美成人精品3d动漫h| 制服丝袜亚洲网站| 欧美日本视频在线| 欧美日韩国产首页| 欧美老女人第四色| 欧美老肥妇做.爰bbww| 欧美日韩国产中文| 欧美日韩免费电影| 欧美性videosxxxxx| 欧美少妇性性性| 欧美色成人综合| 欧美日韩mp4| 欧美精品123区| 777奇米成人网| 欧美一三区三区四区免费在线看 | 顶级嫩模精品视频在线看| 国产一区999| 国产精品一卡二卡在线观看| 韩国av一区二区三区四区| 久草在线在线精品观看| 精品亚洲国内自在自线福利| 经典三级在线一区| 国产麻豆视频一区| 成人性视频免费网站| 95精品视频在线| 欧美阿v一级看视频| 欧美精品国产| 精品动漫一区| 亚洲精品护士| 亚洲尤物精选| 性欧美长视频| 91极品美女在线| 欧美日韩国产天堂| 日韩一级免费观看| 久久蜜桃一区二区| 亚洲欧洲成人自拍| 亚洲电影一级片|