如何將寫(xiě)好的.py/.java程序變成.exe文件詳解
一、背景
1.1、前言
當(dāng)我們寫(xiě)好代碼并測(cè)試功能符合要求時(shí),有可能每天都要執(zhí)行這個(gè)程序(比如我寫(xiě)了一個(gè)爬蟲(chóng)腳本,每天定時(shí)運(yùn)行獲取我想看的小說(shuō)更新內(nèi)容),那么每次執(zhí)行程序都要打開(kāi)編輯器或者命令行嗎?或者,我寫(xiě)了個(gè)程序能實(shí)現(xiàn)某某某炫酷的功能,和喜歡的女孩子
表白炫耀/和兄弟炫耀分享,難道要發(fā)一大串源代碼過(guò)去讓他們?cè)趫?zhí)行一次嗎?那當(dāng)然不行,一種很好的解決辦法就是,把這個(gè)程序變成可執(zhí)行(.exe)文件,點(diǎn)擊即執(zhí)行,豈不是非常方便。
1.2、說(shuō)明
操作系統(tǒng):win 10
編輯器:pycharm edu
語(yǔ)言及版本:python 3.10
需要的庫(kù):pyinstaller
實(shí)現(xiàn)思路:使用Python的第三庫(kù),進(jìn)行生成可執(zhí)行文件(.exe)
對(duì)pyinstaller使用參數(shù)介紹:
-F,作用:生成單個(gè)可執(zhí)行文件
-c,作用:指定使用命令行窗口運(yùn)行程序
-w,作用:指定程序運(yùn)行時(shí)不顯示命令行窗口
-i,作用:添加可執(zhí)行文件的圖標(biāo)(-i 圖片路徑)
-n,作用:可執(zhí)行文件生成后的名稱(chēng)
示例,生成一個(gè)可執(zhí)行文件,設(shè)置文件圖標(biāo),生成后的名稱(chēng)為派大星.exe,執(zhí)行程序不顯示命令行窗口,那么執(zhí)行的指令應(yīng)該為:
pyinstaller -F -w -i 圖片路徑 -n 派大星 程序文件.py
二、優(yōu)點(diǎn)與缺點(diǎn)分析
2.1、優(yōu)點(diǎn)
1)點(diǎn)開(kāi)即運(yùn)行,方便
2)生成.exe文件中遇到各種問(wèn)題能解決的話,可以增長(zhǎng)一些知識(shí)
2.2、缺點(diǎn)
1)生成的過(guò)程容易遇到各種報(bào)錯(cuò)
2)生成的.exe文件占用空間大(因?yàn)榇虬撕芏酂o(wú)關(guān)的庫(kù))
三、將.py變成.exe步驟
3.1、下載需要的庫(kù)
1)pycharm內(nèi)下載,步驟如下圖1、2所示:

圖1

圖2
點(diǎn)擊下載之后,進(jìn)行等待即可,網(wǎng)絡(luò)快的話20秒可以下載完成,慢一些可能需要幾分鐘。
2)也可以在pycharm的控制臺(tái)下載,如下圖3所示:

圖3
3)在命令行下載所需的庫(kù)
步驟如下圖4、5、6:
win+R輸入內(nèi)容cmd打開(kāi)命令行:

圖4
輸入:pip install pyinstaller

圖5
結(jié)果:

圖6
3.2、pycharm控制臺(tái).py->.exe文件
步驟如下圖7、8、9:
1)要把路徑切換到需要生成.exe文件的位置并輸入指令(installer -F -w 文件名.py),如下圖7:

圖7
2)開(kāi)始生成.exe文件,如下圖8:

圖8
3)成功生成.exe文件,如下圖9:

圖9
4)查看生成的.exe文件
如下圖10、圖11:

圖10
生成的.exe文件在dist目錄中,.spec文件是生產(chǎn)過(guò)程文件;

圖11
5)運(yùn)行程序
運(yùn)行程序之后會(huì)彈出一個(gè)命令行的框,程序成功執(zhí)行之后,框就會(huì)消失;
比如,我這里生成的.exe程序,就是一個(gè)郵件發(fā)送,運(yùn)行完成后結(jié)果如下圖12:

圖12
3.3、命令行.py->.exe文件
1)win+R輸入內(nèi)容cmd打開(kāi)命令行:

圖12
2)在命令行輸入生成指令
過(guò)程如下圖13、圖14:

圖13

圖14
3)查看生成文件
如下圖15、圖16:

圖15

圖16
4)運(yùn)行
運(yùn)行時(shí),會(huì)彈出命令行顯示結(jié)果,我這里結(jié)果正常,只是簡(jiǎn)單的輸出內(nèi)容,就不展示了。
四、.py->.exe->執(zhí)行.exe可能會(huì)遇到的報(bào)錯(cuò)與解決辦法
4.1、''pyinstaller'' 不是內(nèi)部或外部命令,也不是可運(yùn)行的程序或批處理文件。
背景:在要生成.exe文件的目錄下打開(kāi)了命令行輸入生成指令,但是報(bào)這個(gè)錯(cuò)
解決辦法:
1)在要生成.exe文件的目錄打開(kāi)cmd,查看是否存在pyinstaller->pip list(當(dāng)出現(xiàn)了這個(gè)報(bào)錯(cuò),大概率是不存在的),若不存在則下載->pip install pyinstaller,繼續(xù)執(zhí)行之前遇到報(bào)錯(cuò)的指令即可。
以上問(wèn)題是我遇到并成功解決的,之后遇到其它問(wèn)題在進(jìn)行補(bǔ)充。
五、.exe->.py文件
說(shuō)明:這里有一個(gè)前提,就是這個(gè).exe文件一定要是.py文件生成的,不然會(huì)出什么錯(cuò)我也不清楚
他人分享內(nèi)容如下:點(diǎn)這里
或者直接搜索:查看.py生成的.exe代碼也可
六、將.java->.exe
雖然學(xué)過(guò)java,但很長(zhǎng)時(shí)間沒(méi)用了,故借鑒他人分享內(nèi)容,進(jìn)行記錄,方便以后查看,這是文章地址:.java->.exe
http://www.dhdzp.com/article/273059.htm
總結(jié)
到此這篇關(guān)于如何將寫(xiě)好的.py/.java程序變成.exe文件的文章就介紹到這了,更多相關(guān).py/.java程序變成.exe文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
聊聊Pytorch torch.cat與torch.stack的區(qū)別
這篇文章主要介紹了Pytorch torch.cat與torch.stack的區(qū)別說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-05-05
python爬取”頂點(diǎn)小說(shuō)網(wǎng)“《純陽(yáng)劍尊》的示例代碼
這篇文章主要介紹了python爬取”頂點(diǎn)小說(shuō)網(wǎng)“《純陽(yáng)劍尊》的示例代碼,幫助大家更好的利用python 爬蟲(chóng)爬取數(shù)據(jù),感興趣的朋友可以了解下2020-10-10
Python將二維列表list的數(shù)據(jù)輸出(TXT,Excel)
這篇文章主要介紹了Python將二維列表list的數(shù)據(jù)輸出(TXT,Excel),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04
Python Selenium安裝及環(huán)境配置的實(shí)現(xiàn)
這篇文章主要介紹了Python Selenium安裝及環(huán)境配置的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03
Python實(shí)現(xiàn)控制手機(jī)電腦拍照并自動(dòng)發(fā)送郵箱
這篇文章主要介紹了如何實(shí)現(xiàn)利用Python控制手機(jī)電腦拍照并自動(dòng)發(fā)送郵箱,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起動(dòng)手試一試2022-02-02
關(guān)于Python解包知識(shí)點(diǎn)總結(jié)
在本篇文章里小編給各位分享的是關(guān)于Python解包知識(shí)點(diǎn)總結(jié),有興趣的朋友們可以學(xué)習(xí)參考下。2020-05-05
使用OpenCV實(shí)現(xiàn)仿射變換—縮放功能
這篇文章主要介紹了使用OpenCV實(shí)現(xiàn)仿射變換—縮放功能,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08
Python 模擬員工信息數(shù)據(jù)庫(kù)操作的實(shí)例
下面小編就為大家?guī)?lái)一篇Python 模擬員工信息數(shù)據(jù)庫(kù)操作的實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-10-10

