python如何升級(jí)pip pyqt用pyinstaller打包出exe文件后運(yùn)行不了?如圖?
pyqt用pyinstaller打包出exe文件后運(yùn)行不了?如圖?原因是我的界面是用QtDesigner生成的ui文件,但是pyinstaller沒(méi)有打包進(jìn)來(lái),把相關(guān)的ui文件以及用pyuic生成的p
pyqt用pyinstaller打包出exe文件后運(yùn)行不了?如圖?
原因是我的界面是用QtDesigner生成的ui文件,但是pyinstaller沒(méi)有打包進(jìn)來(lái),把相關(guān)的ui文件以及用pyuic生成的py文件復(fù)制到start.exe目錄下即可運(yùn)行!如果pyinstaller用了-F命令,只生成一個(gè)exe, 也需要按照上面的方法復(fù)制相應(yīng)的ui及ui生成的py文件來(lái)exe目錄,且目錄結(jié)構(gòu)與原始項(xiàng)目結(jié)構(gòu)要一致。
如何解決py2exe打包PyQt程序出錯(cuò)的問(wèn)題?
pyinstaller最新版暫不支持py3.6.但是官方在GitHub已經(jīng)更新了源碼:pyinstaller/pyinstaller
下載官方源碼,把里面的pyinstaller文件夾放到python系統(tǒng)安裝目錄,比如C:UsersAdministratorAppDataLocalProgramsPythonPython36Libsite-packagesPyInstaller
留個(gè)備份,用官方源碼把上面的文件替換掉。
如何使用pyinstaller打包python腳本?
先pip install pyinstaller安裝打包模塊,然后命令行進(jìn)入腳本的相應(yīng)目錄。
如上圖,UI_pySide.py是要打包的模塊,
-w是去除命令窗口,-F是創(chuàng)建可執(zhí)行文件。
-i是添加程序圖標(biāo),calender.ico是打包后的exe圖標(biāo)。
稍等片刻,即可在同目錄的dist下找到exe文件。
以上就是常用的參數(shù)。
如果需要更詳細(xì)的參數(shù),在命令行輸入pyinstaller -h 即可獲取參數(shù)說(shuō)明。
參數(shù)說(shuō)明
與其四處找說(shuō)明,為什么不用-h獲取官方的說(shuō)明呢?
相信一點(diǎn)點(diǎn)英文應(yīng)該也難不倒。
最后附個(gè)打包模塊對(duì)比圖。
如果對(duì)你有幫助,請(qǐng)你點(diǎn)贊。
既然Python是用C實(shí)現(xiàn)的,那為什么Python不能直接生成exe呢?
C語(yǔ)言其實(shí)是一種比較“古老”而且“底層”的語(yǔ)言。其執(zhí)行效率,僅次于匯編語(yǔ)言。
說(shuō)其古老,是因?yàn)镃語(yǔ)言的出現(xiàn)很早。
雖然Fortran、Cobol語(yǔ)言出現(xiàn)比C語(yǔ)言更早,但是現(xiàn)代主流操作系統(tǒng)(Windows、Mac Os、linux、iOS、Android、Unix)全部脫胎于C語(yǔ)言。
說(shuō)它底層,是因?yàn)镃語(yǔ)言設(shè)計(jì)之初就是為了同時(shí)編寫(xiě)匯編語(yǔ)言。理論上可以全部用匯編寫(xiě)。而匯編語(yǔ)言是執(zhí)行效率最高的語(yǔ)言。
所以Python用C語(yǔ)言寫(xiě)一點(diǎn)也不奇怪。這和它能不能生成Exe一點(diǎn)關(guān)系都沒(méi)有。
Exe文件是Windows平臺(tái)的私有格式。最簡(jiǎn)單的Exe是Com可執(zhí)行文件。Exe文件實(shí)際上是一個(gè)引導(dǎo)程序 一個(gè)解釋程序組成的。
Python語(yǔ)言生成的代碼,只需要配以引導(dǎo)程序和解釋程序,就可以作為Exe文件執(zhí)行。
所以,Python生成Exe文件一點(diǎn)難度都沒(méi)有。只是它愿不愿意提供的問(wèn)題。