dist文件夾下無exe 既然Python是用C實現(xiàn)的,那為什么Python不能直接生成exe呢?
既然Python是用C實現(xiàn)的,那為什么Python不能直接生成exe呢?C語言實際上是一種“舊”和“底層”語言。其執(zhí)行效率僅次于匯編語言。它之所以古老是因為C語言出現(xiàn)得很早。盡管FORTRAN和COB
既然Python是用C實現(xiàn)的,那為什么Python不能直接生成exe呢?
C語言實際上是一種“舊”和“底層”語言。其執(zhí)行效率僅次于匯編語言。
它之所以古老是因為C語言出現(xiàn)得很早。
盡管FORTRAN和COBOL比C語言出現(xiàn)得早,但現(xiàn)代主流操作系統(tǒng)(windows、Mac OS、Linux、IOS、Android、Unix)都是從C語言中誕生的。
最根本的原因是C語言被設(shè)計用來同時編寫匯編語言。從理論上講,它可以用外匯來表示。匯編語言是最有效的語言。
所以Python是用C語言編寫的也就不足為奇了。它與能否生成exe無關(guān)。
Exe文件是Windows平臺的專用格式。最簡單的exe是com可執(zhí)行文件。EXE文件實際上由引導(dǎo)加載程序和解釋器組成。
由Python語言生成的代碼只能通過引導(dǎo)加載程序和解釋器作為EXE文件執(zhí)行。
因此Python生成EXE文件并不困難。只是它是否愿意提供的問題。
用pyinstaller生成exe文件后為什么那么大?
設(shè)置設(shè)置.py:import sysfrom cx凍結(jié)導(dǎo)入設(shè)置,executablebase=nonexecutibles=[可執(zhí)行文件(”打包文件名)。Py”,base=base)]setup(name=“file”,version=“1.0”,description=“name,executables=executables)在CMD的根目錄中輸入:Python設(shè)置.pyBuild可以打包
Python是一種很好的腳本語言,但它只能在安裝了Python的平臺上運行。為了使用您在其他窗口上編寫的python程序而不安裝python,你需要把它打包成一個EXE文件(這里我們說的是pyinstaller)工具/原材料windows系統(tǒng)PIP方法/步驟來安裝pyinstaller(你需要先安裝PIP),然后:PIP install pyinstaller(因為我事先安裝了pyinstaller,為了方便我卸載了它,我不知道它是否會影響顯示。但是,安裝成功后,會出現(xiàn)提示“successfully installed pyinstaller”)pyinstaller.exe在文件夾中(通常在Python的“scripts”文件夾下)(溫馨提示:在CMD下,tab鍵可以再次完成該功能),然后添加要轉(zhuǎn)換的文件地址(兩者之間有空格)pyinstaller.exe以后如果加-F,會打包成EXE文件(文件會比較大),如果不加,會有很多庫文件;如果加-W,它將被打包為一個沒有CMD窗口的EXE,當(dāng)您不添加它時,CMD窗口將出現(xiàn)。(添加與否取決于個人喜好)添加-f效果,非-f效果,非-W效果(添加-W,后面不會有黑盒
最近,我剛剛用pyinstall包了Python程序。我有點感覺。
其他人無法運行它。有幾種情況。
如果用Python 3編寫程序,則可能需要64位操作系統(tǒng)來運行它們。
可能您嘗試的第三方庫未打包到EXE程序中,因此其他人無法運行它。
也有可能您的程序需要讀取其他文件,并且打包后文件目錄錯誤。
等等。
因此,如果我們不能運行它,我們?nèi)匀恍枰纯从惺裁磫栴}。但是,如果它不工作,它會閃回來,窗口將關(guān)閉,沒有任何錯誤信息。這里有一個小技巧來告訴你錯誤信息。
打開命令行窗口,拖動EXE程序,然后按enter鍵運行。在窗口結(jié)束后,您可以看到錯誤消息。
如果您有任何問題,請發(fā)送私人信息。
pyinstaller將py文件整合成exe后,顯示版本不兼容?
仔細查找代碼,重新打包調(diào)試,確定問題是否出在pyGame的字體設(shè)置代碼中:
因為EXE打包運行成功后,系統(tǒng)無法匹配相應(yīng)的字體資源,因此會給出錯誤提示并停止運行。
其次,pyinstaller不會為您打包pyGame所需的多媒體資源,這需要您手動添加。
解決字體資源問題的方法是替換以下代碼:
這樣系統(tǒng)可以調(diào)用現(xiàn)有字體,然后重新打包,然后將pyGame所需的媒體資源文件與EXE文件存儲在同一目錄下,EXE可以正常運行。