python如何升級(jí)pip pyqt用pyinstaller打包出exe文件后運(yùn)行不了?如圖?
pyqt用pyinstaller打包出exe文件后運(yùn)行不了?如圖?原因是我的界面是用QtDesigner生成的ui文件,但是pyinstaller沒有打包進(jìn)來,把相關(guān)的ui文件以及用pyuic生成的p
pyqt用pyinstaller打包出exe文件后運(yùn)行不了?如圖?
原因是我的界面是用QtDesigner生成的ui文件,但是pyinstaller沒有打包進(jìn)來,把相關(guān)的ui文件以及用pyuic生成的py文件復(fù)制到start.exe目錄下即可運(yùn)行!如果pyinstaller用了-F命令,只生成一個(gè)exe, 也需要按照上面的方法復(fù)制相應(yīng)的ui及ui生成的py文件來exe目錄,且目錄結(jié)構(gòu)與原始項(xiàng)目結(jié)構(gòu)要一致。
如何解決py2exe打包PyQt程序出錯(cuò)的問題?
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ù)說明。
參數(shù)說明
與其四處找說明,為什么不用-h獲取官方的說明呢?
相信一點(diǎn)點(diǎn)英文應(yīng)該也難不倒。
最后附個(gè)打包模塊對(duì)比圖。
如果對(duì)你有幫助,請(qǐng)你點(diǎn)贊。
既然Python是用C實(shí)現(xiàn)的,那為什么Python不能直接生成exe呢?
C語言其實(shí)是一種比較“古老”而且“底層”的語言。其執(zhí)行效率,僅次于匯編語言。
說其古老,是因?yàn)镃語言的出現(xiàn)很早。
雖然Fortran、Cobol語言出現(xiàn)比C語言更早,但是現(xiàn)代主流操作系統(tǒng)(Windows、Mac Os、linux、iOS、Android、Unix)全部脫胎于C語言。
說它底層,是因?yàn)镃語言設(shè)計(jì)之初就是為了同時(shí)編寫匯編語言。理論上可以全部用匯編寫。而匯編語言是執(zhí)行效率最高的語言。
所以Python用C語言寫一點(diǎn)也不奇怪。這和它能不能生成Exe一點(diǎn)關(guān)系都沒有。
Exe文件是Windows平臺(tái)的私有格式。最簡單的Exe是Com可執(zhí)行文件。Exe文件實(shí)際上是一個(gè)引導(dǎo)程序 一個(gè)解釋程序組成的。
Python語言生成的代碼,只需要配以引導(dǎo)程序和解釋程序,就可以作為Exe文件執(zhí)行。
所以,Python生成Exe文件一點(diǎn)難度都沒有。只是它愿不愿意提供的問題。