修复Sublime Text 3中Mac OSX上“shell_cmd”的替换

时间:2016-03-21 10:01:28

标签: sublimetext3 sublimetext sublime-anaconda

我的项目设置中指定的构建系统出现问题。目前我的项目设置如下所示

{
    "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"

每当我关闭崇高并重新打开它时,我的shell_cmd将被替换为

"shell_cmd": "\"python\" -u \"$file\""

我的构建失败了。有没有办法解决这个问题?如何禁用此自动替换?

  • Mac OS X 10.11.3
  • Sublime Text 3103

2 个答案:

答案 0 :(得分:2)

我已经在Anaconda的问题跟踪器中回答了这个问题,但我会在这里为其他任何有类似问题的用户提供此问题。

Anaconda本身使用了这个特定的构建系统,这就是它被称为“Anaconda Python Builder”的原因,它会将你用作“python_interpreter”设置配置的任何东西更新为“shell_cmd”到你的anaconda的设置文件中(一般,用户或每个项目)。

如果您对构建系统有特定需求,则应创建一个具有自己选项的新构建条目并坚持使用该条目。 Anaconda的构建系统为需要使用其配置的Python解释器而非嵌入式ST3解析器的用户提供了便利。

答案 1 :(得分:0)

我通过将python_interpreter: 'full/path/to/python'添加到设置字典而没有自定义构建系统解决了这个问题。用Anaconda Python Builder shell_cmd中的python部分替换它。