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