答案实际上是在您的问题中链接的问题中-
PYTHONIOENCODING需要设置为
"utf-8"。但是,由于OS
X很愚蠢,并且无法使用Terminal或通过
.bashrc类似文件中设置的环境变量,因此这将无法解决其他问题。相反,您需要将该环境变量传递给Sublime。
幸运的是,ST3构建系统(我不了解ST2)可以
"env"选择。这是传递给的键和值的字典
exec.py,它负责在不设置
"target"选项的情况下运行构建系统。正如我们在上面的评论中讨论的那样,我表示您的示例程序在Linux上以ST3(内部版本3122)运行时,在包含非ASCII字符的UTF-8编码文本文件上可以正常工作,但在OS
X上运行的版本与此不同要使其运行,所需要做的就是更改构建系统以包含以下行:
"env": {"PYTHONIOENCODING": "utf8"},我保存了构建系统,点击
⌘``B,程序运行正常。
顺便说一句,如果您想读取
exec.py,或
Packages/Python/Python.sublime-build或压缩文件中打包的任何其他文件
.sublime-package,请
PackageResourceViewer通过Package
Control安装。使用命令面板中的“打开资源”选项来选择单个文件,或使用“提取包”(两者都以“ PackageResourceViewer:”开头,或
prv使用模糊搜索)将整个包提取到您的
Packages文件夹中,可通过选择
Sublime Text →Preferences → Browse Packages…(仅
Preferences → Browse Packages…
在其他操作系统上)。它位于您的硬盘驱动器上的以下位置:
- Linux:
~/.config/sublime-text-3/Packages
- OS X:
~/Library/Application Support/Sublime Text 3/Packages
- Windows常规安装:
C:Users ** _YourUserName_** AppDataRoamingSublime Text 3Packages
- Windows可移植安装:
**_InstallationFolder_** Sublime Text 3DataPackages
一旦将文件保存到您的
Packages文件夹中(如果您仅通过“打开资源”选项查看它们并关闭而不更改或保存它们,它们将不会保存),它们将覆盖
.sublime-package存档中包含的同名文件。因此,例如,如果要编辑软件包中的默认
Python.sublime-build文件,则
Python所做的更改将另存为
Packages/Python/Python.sublime-build,并且当您
Python从菜单中选择构建系统时,它将仅使用您的版本。



