2

我无法在 Sublime Text2 中设置构建环境。我正在使用 Macports 进行 Python 和软件包安装。

我的 python.sublime-build 文件如下所示:

{
    "cmd": ["python", "-u", "$file"],
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "selector": "source.python"
}

我认为(通过搜索)我需要修改“cmd”行以指向 Macports 版本。有人成功做到这一点吗?

从终端,一切构建/运行正常,只有 Sublime Text2 的构建仍然在获取系统版本。

附加信息:

which python
/opt/local/bin/python

谢谢你的帮助。

4

1 回答 1

15

您的 Sublime Text 2 环境与您的 shell 环境不同;该$PATH变量可能未指向相同的目录,并且选择了错误的可执行文件。

您有几个选项可以解决这个问题:

  1. 设置一个"path"选项,包括/opt/local/bin 需要为您的python可执行文件使用绝对路径,因为 Sublime Text 2 不共享您的 shell 使用的相同环境 PATH 变量。检查echo $PATH并将其用作模板:

    {
        "cmd": ["python", "-u", "$file"],
        "path": "/opt/local/bin:/opt/local/sbin:/Library/Frameworks/Python.framework/Versions/Current/bin:/Users/yourloginname/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin",
        "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
        "selector": "source.python"
    }
    

    这将用于/bin/bash运行命令,我认为该命令$PATH与您的终端具有相同的设置。

  2. "shell"通过设置选项而不是通过 shell 运行命令:

    {
        "cmd": ["python", "-u", "$file"],
        "shell": true,
        "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
        "selector": "source.python"
    }
    
  3. 使用 python 命令的完整路径:

    {
        "cmd": ["/opt/local/bin/python", "-u", "$file"],
        "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
        "selector": "source.python"
    }
    
于 2012-09-09T20:00:57.077 回答