Python 3.x 如何更改MacOS Sublime Text 3中的首选编码

Python 3.x 如何更改MacOS Sublime Text 3中的首选编码,python-3.x,encoding,utf-8,sublimetext3,osx-yosemite,Python 3.x,Encoding,Utf 8,Sublimetext3,Osx Yosemite,我想在优胜美地的Sublime Text 3中将首选编码从US-ASCII更改为UTF-8。bash中的首选编码设置为UTF-8,因此在终端中运行python时: import locale print(locale.getpreferredencoding()) 输出为:UTF-8 当相同的代码以升华文本运行时,输出为US-ASCII Python 3的构建系统中的设置: "encoding": "UTF-8" 或 没有帮助 如何永久更改设置,使我不必调用脚本中的locale.setloc

我想在优胜美地的Sublime Text 3中将首选编码从US-ASCII更改为UTF-8。bash中的首选编码设置为UTF-8,因此在终端中运行python时:

import locale
print(locale.getpreferredencoding())
输出为:
UTF-8
当相同的代码以升华文本运行时,输出为
US-ASCII

Python 3的构建系统中的设置:

"encoding": "UTF-8"

没有帮助


如何永久更改设置,使我不必调用脚本中的
locale.setlocale(locale.LC_ALL,'en_US.UTF-8')

在ST3的Python构建系统中,可以指定它应该设置
LANG
环境变量,这将影响从
locale.getpreferredencoding()
返回的结果,因此不需要修改任何Python脚本

例如:

"env": {"PYTHONIOENCODING": "utf-8", "LANG": "en_US.UTF-8"},

这已经被证实可以在Linux、MacOS和Windows上运行

从我在Linux中的测试来看,在构建系统中设置
LANG
环境变量就足够了,即
“env”:{“pythoniocodeding”:“utf-8”,“LANG”:“en_US.utf-8”},
-如果这在MacOS上适用,我将给出一个答案:)谢谢,它也适用于MacOS。您是如何进行这一更改的?我找不到任何方法来编辑内置生成系统。此外,如果安装了多个Python构建系统,会发生什么情况?这是否适用于ST3中的所有插件(用Python编写),即使您正在编辑非Python文件?要添加新的构建系统,请转到
Tools->build system->new build system
。对于python3,您可以使用
{“shell_cmd”:“/usr/bin/env python3${file}”,“选择器”:“source.Python”,“file_regex”:“^(…*?):([0-9]*):([0-9]*):?([0-9]*),“working_dir”:“${file_path}”,“env”:{“pythonecoding”:“utf-8”,“LANG”:“en_US.utf-8”}
您还可以通过进入
~/Library/Application-Support/Sublime-Text 3/Packages/User/
来修改Python的现有版本。默认情况下,
~/Library
目录隐藏在Finder中,因此您可能必须使用
Cmd+Shift+。(点)
显示/隐藏它(或使用终端导航到那里)。
"env": {"PYTHONIOENCODING": "utf-8", "LANG": "en_US.UTF-8"},