Python如何生成exe文件?用Pycharm一步步帶你學(超詳細、超貼心)
目的描述:
為了讓沒有安裝Python的人也能使用我們編寫的.py文件,我們需要將編寫好的Python程序生成.exe文件。
第一步 下載pyinstaller
pyinstaller插件是Python自帶的插件,用于為我們寫好的代碼進行打包,最終自動合成.exe文件。
在Pycharm界面的最下面,你可以看到Terminal,選擇這個選項,這就是一個終端界面。
在此界面寫輸入指令: pip install pyinstaller 對pyinstaller進行下載。
在下載過程中,可能會遇到一些錯誤提示,解決方案可以參考我的另外幾篇博客:
常見錯誤提示一:
常見錯誤提示二:
NoneType’ object has no attribute 'bytes
第二步 使用pyinstaller
在終端里輸入的指令為: pyinstaller -w -F XXX.py
但是對于初學者來說,這里要解釋的東西很多:
-w:表示希望在生成的.exe程序運行過程中,不要出現(xiàn)cmd黑框(就是圖中的黑框)(注意:小寫?。?/p>
-F:表示希望將所有的程序全部打包在一起,生成的只有一個.exe文件,這樣的文件集成度高,但是運行速度慢;如果不寫-F,生成的還有一堆.dll文件,這樣的程序里文件很多,但是運行速度比較快,這也是我們平時使用的程序的樣式(如圖)(注意:大寫?。?/p>
XXX.py:指的是你整個項目的入口程序,大家寫項目時很可能是多文件編程,你整個項目時靠哪個文件作為入口拉起來的,就填那個文件的名字。
常見錯誤:
ValueError: script ‘C:\Users\Administrator.XXX.py’ not found
找不到XXX.py這個程序
解決方案:
pyinstaller找文件的方法是看你建立的那個工程文件夾里有沒有你寫進去的文件,而不是看子文件夾里有沒有。如果您是在子文件夾中寫程序,可以把你寫的所有程序都拷貝到工程文件夾中。
如果你在代碼中導入了圖片、文檔等與路徑相關的文件,注意修改路徑。
第三步: 找到生成的.exe文件
有不少同學都反映,沒有看到生成的.exe文件。
沒看見就對了,因為.exe文件根本不在工程文件夾下面。運行pyinstaller -w -F XXX.py指令后,會生成兩個文件夾:一個叫build,另一個叫dist。
點開dist文件夾,里面會有一個用你填進去的XXX命名的文件夾,再點進去,你就會看到XXX.exe文件。
理論上你已經(jīng)生成了.exe可執(zhí)行文件,這樣就完成了。如果你的.exe文件可以運行起來,那么恭喜你!但是實施情況是,這個.exe文件運行起來很有可能會有各種各樣奇葩的問題:比如閃退、雙擊后直接消失了、程序莫名其妙地崩掉等。
總結
如果遇到這些問題,大家千萬不要慌張,因為這是很多人都會遇到的,網(wǎng)上也有很多人問這樣的問題,我在這里只是給大家提個醒,讓大家有個心理準備。不要覺得自己勝利在望,結果被悶頭一棒。解決這些問題我也花了很長時間,之后我再專門寫一篇博客來告訴大家如何解決這些問題的,敬請期待。
到此這篇關于Python如何生成exe文件的文章就介紹到這了,更多相關Python生成exe文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
python生成requirements.txt文件的兩種方法
requirements.txt 文件是項目的依賴包及其對應版本號的信息列表,本文主要介紹了python生成requirements.txt文件的兩種方法,具有一定的參考價值,感興趣的可以了解一下2023-12-12Python基礎教程之if判斷,while循環(huán),循環(huán)嵌套
這篇文章主要介紹了Python基礎教程之if判斷,while循環(huán),循環(huán)嵌套 的相關知識,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-04-04Ruby使用eventmachine為HTTP服務器添加文件下載功能
這篇文章主要介紹了Ruby使用eventmachine為HTTP服務器添加文件下載功能的實例,同時作者也分享了Windows上eventmachine安裝報錯問題的解決方法,需要的朋友可以參考下2016-04-04Python如何實現(xiàn)后端自定義認證并實現(xiàn)多條件登陸
這篇文章主要介紹了Python如何實現(xiàn)后端自定義認證并實現(xiàn)多條件登陸,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-06-06解決django-xadmin列表頁filter關聯(lián)對象搜索問題
今天小編就為大家分享一篇解決django-xadmin列表頁filter關聯(lián)對象搜索問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11使用django的ORM框架按月統(tǒng)計近一年內(nèi)的數(shù)據(jù)方法
今天小編就為大家分享一篇使用django的ORM框架按月統(tǒng)計近一年內(nèi)的數(shù)據(jù)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07