无法在Sublime Text 2中设置Python版本

时间:2012-09-09 18:59:39

标签: python macports sublimetext2

我在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

感谢您的帮助。

1 个答案:

答案 0 :(得分:15)

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

您有几种方法可以解决这个问题:

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

    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设置。

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

    "shell"
  3. 使用python命令的完整路径:

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