[英]Sublime Text 2 encoding error with python3 build
從Sublime Text 2運行我的python3腳本時,發生以下錯誤:
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-2: ordinal not in range(128)
此外,從終端運行相同的腳本時,問題不會出現。
Sublime的構建系統設置如下:
{
"cmd": ["python3", "-u", "$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python",
"encoding": "utf8",
"path": "/Library/Frameworks/Python.framework/Versions/3.3/bin/"
}
提前致謝!
經過一番調查和研究,我弄清楚問題是什么:
子進程中缺少LANG env變量,由Sublime Text 2運行。我通過在構建設置中添加LANG變量來修復它,如下所示:
{
"cmd": ["python3", "-u", "$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python",
"env": {"LANG": "en_US.UTF-8"}
}
Martin的解決方案非常有效! 在Windows / Python3.5環境中,只需代替“LANG”設置以下內容:
"env": {"PYTHONIOENCODING": "utf8"}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.