2015年12月30日 星期三

Python 3 of py2exe "UnicodeDecodeError: 'cp950' codec can't decode bytes" 可能解法

前幾天,我在執行Python 3版的py2exe出現
"UnicodeDecodeError: 'cp950' codec can't decode bytes"
錯誤,就上網Google一下可能的解法:

notepad或notepad++的utf-8編碼文件: open('filename', encoding = 'utf-8-sig') 
notepad++的utf-8 without BOM文件: open('filename', encoding = 'utf8')

 最後我把C:\Python34\Lib\site-packages\py2exe\runtime.py,
第577 line:
從原本
with open(target.script, "U") as script_file:

改成
with open(target.script, "U", encoding = 'utf-8-sig') as script_file:

就可以正常執行
py -3.4 -m py2exe myscript.py -W mysetup.py
... edit myssetup.py
py -3.4 mysetup.py py2exe

沒有留言:

張貼留言

Lua裡, A and B or C, 即是C++的 A ? B : C

 7 kyu: Blowing Birthday Candles 這題很簡單,我在解這題時額外寫了一個簡單的函式, 後來發現用A and B or C的lua語法,就可以達成函式所做的事情, 這個語法,相當於C/C++裡的A ? B : C 也就是A的條件正確的話,回傳B,反則回...