PyInstaller:Python 程式轉換失敗
今天試著用 Pyinstaller 把 Python 的程式轉成執行檔時,遇到一個我覺得很棘手的問題,導致轉換出來的程式都不能用。
通常我也不太會去轉換執行檔,但是我如果是用 PyQt5 製做得程式,通常會試著看看能不能包裝起來,給別人用得時候就是只有介面,也不用擔心他們用得時候程式會被修改。
轉換過程雖有一些錯誤,但還是可以把程式轉換出來,但轉出來的執行檔怎麼樣就是打不開,先來看看下面丟出來的 bug。
Fatal Python error: initfsencoding: unable to load the file system codec
ModuleNotFoundError: No module named 'encodings'
Current thread 0x00003c8c (most recent call first):
說實話,完全不懂要表達什麼啊啊啊 щ(゚Д゚щ)
原本想說會不會是 Pyinstaller 的版本有問題或是沒裝好,砍掉重新安裝舊版本,發現舊版本裝不起來,看 Error 似乎是 enum
這個模組有問題,但是安裝回原來版本卻可以成功安裝,之前都沒這個問題啊。
重新裝完之後,抱著一絲絲希望去轉換看看,看看能不能成功,結果轉出來的東西還是一樣不能開,而且還是一樣的錯誤啊啊啊 щ(゚Д゚щ)
既然這樣,這次決定好好看看轉換過程發生了什麼問題。忘記截圖中間過程了,但是主要就是出現下面的 Error。
AttributeError: module 'enum' has no attribute 'IntFlag'?
之前轉換都沒這問題,今天多裝了一個影像感測器的模組 (pyueye) 之後,就一直轉換失敗了。既然上面的錯誤是說enum
有問題,那就把它砍掉看看,沒想到,居然就成功了!!!
雖然成功了,但感覺還是很不爽,上網查了一下 (link),大概就是enum
這個模組在新版 Python 已經不用了,因此無法正確執行,所以刪掉就可以了。
結語
雖然說問題是很快排除,但裝個新模組就讓 Pyinstaller 無法正常工作,還是覺得很@^em>!@</em)#,雖然以前用 Pyinstaller 就遇過其他模組無法正常包裝的問題,看來 Python 要整合成應用程式還是很雞肋啊,小程式問題不大,但大程式問題就大條了,太多相關的模組需要包裝起來,而且整合出來的檔案也特大,不知道正常要發布完成的 Python 作品是用什麼方法。
1,163 則留言
IssacsaX
Acheter Cialis 20 mg pas cher: Cialis sans ordonnance 24h – acheter Cialis sans ordonnance
EugeneKakly
acheter medicaments sans ordonnance acheter medicaments sans ordonnance Pharmacie Internationale en ligne
BradleyDit
voltaren emulgel farmacia online Confia Pharma farmacia online barata canarias
MichaelNeolo
sildenafil 100mg 24 comprimГ©s (viagraВ® gГ©nГ©rique) prix: demande ordonnance en ligne – peut on acheter de l’amoxicilline sans ordonnance
MichaelNeolo
app farmacia online: farmacia comprar online – se puede comprar nuvaring sin receta