修复 Sublime Text 3 中 Mac OSX 上的“shell_cmd”替换
Fix substitution of “shell_cmd” on Mac OSX in Sublime Text 3
我在项目设置中指定的构建系统有问题。目前我的项目设置是这样的
{
"build_systems":
[
{
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"name": "Anaconda Python Builder",
"selector": "source.python",
"shell_cmd": "$project_path/bin/python -u $file"
}
],
"folders":
[
{
"file_exclude_patterns":
[
"pip-selfcheck.json",
"pyvenv.cfg"
],
"folder_exclude_patterns":
[
"lib",
"include",
"bin"
],
"follow_symlinks": true,
"path": "."
}
],
"settings":
{
"binary_file_patterns":
[
"*.jpg",
"*.jpeg",
"*.png",
"*.gif",
"*.ttf",
"*.tga",
"*.dds",
"*.ico",
"*.eot",
"*.pdf",
"*.swf",
"*.jar",
"*.zip",
"client/node_modules/**",
"data/**"
]
}
}
实际问题所在行:
"shell_cmd": "$project_path/bin/python -u $file"
每次我关闭 sublime 并重新打开它时,我的 shell_cmd
都会被替换为这个
"shell_cmd": "\"python\" -u \"$file\""
我的构建失败了。有没有办法解决这个问题?我该怎么做才能禁用此自动替换?
- Mac OS X 10.11.3
- Sublime Text 3103
我已经在 Anaconda 的问题跟踪器中回答了这个问题,但我会在这里为遇到类似问题的任何其他用户回答这个问题。
Anaconda 本身使用该特定构建系统,这就是它被称为 "Anaconda Python Builder" 的原因,它将使用您用作 "python_interpreter" 配置的任何内容更新 "shell_cmd"设置到您的 anaconda 的设置文件中(一般、用户或每个项目)。
如果您对构建系统有特定需求,您应该使用自己的选项创建一个新的构建条目并坚持使用该条目。 Anaconda 的构建系统为需要使用其配置的 Python 解释器而不是嵌入式 ST3 解释器的用户提供了便利。
我通过将 python_interpreter: 'full/path/to/python'
添加到设置字典中,在没有自定义构建系统的情况下解决了这个问题。 python Anaconda Python Builder shell_cmd
中的部分被替换为它。
我在项目设置中指定的构建系统有问题。目前我的项目设置是这样的
{
"build_systems":
[
{
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"name": "Anaconda Python Builder",
"selector": "source.python",
"shell_cmd": "$project_path/bin/python -u $file"
}
],
"folders":
[
{
"file_exclude_patterns":
[
"pip-selfcheck.json",
"pyvenv.cfg"
],
"folder_exclude_patterns":
[
"lib",
"include",
"bin"
],
"follow_symlinks": true,
"path": "."
}
],
"settings":
{
"binary_file_patterns":
[
"*.jpg",
"*.jpeg",
"*.png",
"*.gif",
"*.ttf",
"*.tga",
"*.dds",
"*.ico",
"*.eot",
"*.pdf",
"*.swf",
"*.jar",
"*.zip",
"client/node_modules/**",
"data/**"
]
}
}
实际问题所在行:
"shell_cmd": "$project_path/bin/python -u $file"
每次我关闭 sublime 并重新打开它时,我的 shell_cmd
都会被替换为这个
"shell_cmd": "\"python\" -u \"$file\""
我的构建失败了。有没有办法解决这个问题?我该怎么做才能禁用此自动替换?
- Mac OS X 10.11.3
- Sublime Text 3103
我已经在 Anaconda 的问题跟踪器中回答了这个问题,但我会在这里为遇到类似问题的任何其他用户回答这个问题。
Anaconda 本身使用该特定构建系统,这就是它被称为 "Anaconda Python Builder" 的原因,它将使用您用作 "python_interpreter" 配置的任何内容更新 "shell_cmd"设置到您的 anaconda 的设置文件中(一般、用户或每个项目)。
如果您对构建系统有特定需求,您应该使用自己的选项创建一个新的构建条目并坚持使用该条目。 Anaconda 的构建系统为需要使用其配置的 Python 解释器而不是嵌入式 ST3 解释器的用户提供了便利。
我通过将 python_interpreter: 'full/path/to/python'
添加到设置字典中,在没有自定义构建系统的情况下解决了这个问题。 python Anaconda Python Builder shell_cmd
中的部分被替换为它。