0、環境
pyinstaller 版本4.6
系統:windows 7
1、場景
如果不是在console 輸入 pyinstaller [option] xxx.py的方式 而是在 手冊中給出的PyInstaller.main.run 函數用腳本完成(如下)
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIiNx8FesU2cfdGLwczX0xiRGZkRGZ0Xy9GbvNGLwEzXlpXazxSNrpHWwxGWhFDatVWQClGVF5UMR9Fd4VGdsATNfd3bkFGazxycykFaKdkYzZUbapXNXlleSdVY2pESa9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLkJ2M4UDMzUmYiRTMhJzM4UTN0QTNmJjZygTOwgjYwYzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
2、問題
使用-i XXX.ico檔案時,會出現Unable to open icon file
按網上搜到相關解決方法,很可能還是無法解決。
經過多次操作發現:
用腳本__main__.run 函數寫 -i XXX.ico 的時候, 會在ico的路徑前添加一個空格,
如’-i E:\cofile.ico’
在 spec檔案 會生成 ‘ E:\cofile.ico’ 而不是 ‘E:\cofile.ico’ ,
前者多了一個空格。這就會導緻永遠找不到檔案于是報錯Unable to open icon file。
3、解決方法
這顯然是個bug,但可以在腳本中這樣寫 -iE:\cofile.ico ,也就是連續寫。其他指令在python腳本中寫時同樣要注意這個多個空格的情況。
這個大坑,大家可以注意一下,再次說明——這裡隻是說的 用腳本打包 而不是console 指令行的情況