2020年10月20日

Getting error when using pynput with pyinstaller(Python3.7)

    問題描述 

    我用Python寫了一段程式,並用pyinstaller包裝成.EXE執行檔

    在python環境執行都正常,但在EXE環境執行後等幾秒鐘出現錯誤訊息後閃退

    訊息中大概提到跟pynput這個函式庫有關(片段錯誤訊息如下)

    File "pynput\keyboard\__init__.py", line 31, in <module>
    File "pynput\_util\__init__.py", line 82, in backend
    ImportError
    [22744] Failed to execute script Autorebuild
    


    程式環境

    • Python V.3.7.2
    • pynput V.1.7.1
    • pyinstaller V.4.0

    解決過程

    我在程式中Import 如下


    我在Python環境下可以正常執行

    當我將.py檔用pyinstaller包裝成.EXE,打包過程也都正常

    但當我執行打包後的.EXE檔時,視窗閃退

    於是我用桌面錄影把錯誤訊息截下來,如下圖


    這錯誤訊息超無厘頭的阿
    只知道錯誤跟pynput有關,但為什麼錯? 還真是不解

    逛了一下Stackoverflow發現有人有發生跟我一樣的情況

    我試著將pynput的版本退版到1.6.8(我原本版本是1.7.1)


    然後再次用pyinstall打包成.EXE,過程也都順利


    然後那個錯誤就這樣解決了!!!
    程式可以正常執行了(YA!!! 灑花)


    參考資料:

    沒有留言:

    張貼留言