13

我只想将 Sublime Text 2 包 ( SublimeREPL ) 引导到正确的python 安装——目前,它选择了错误的。

Mac 用户对这里的故事很熟悉。Mac OS 包含一个 python 安装,它用于需要 python 的各种操作系统内容。像许多其他人一样,我不喜欢使用这个系统 python(它位于 /System/Library/...),因为它通常已经过时,当然更新它不是一个好主意——它是一个工作 python Mac OS 使用的安装,以及更新导致依赖于该安装的操作系统任务中断的风险。

但这是 SublimeREPL 包选择的版本:

Python 2.7.1 (r271:86832, Jun 25 2011, 05:09:01) 
[GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 

我用于开发的版本(安装在 /Library/Frameworks/ 并符号链接到 /usr/local/bin)是:

@ > python
Python 2.7.3 (v2.7.3:70274d53c1dd, Apr  9 2012, 20:52:43) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 

Sublime 2 Text 在其他地方选择了正确的版本,除非使用 SublimeREPL 包,因此该包中的一个配置文件中必须有一个设置,可以让我将 SublimeREPL 引导到正确的 python。

但我找不到它。

似乎我已经用尽了所有可能的选项,通过我的 /Sublime Text 2/Packages/ 目录查看必须位于以下任一位置:

SublimeREPL/

    SublimeREPL (OSX).sublime-settings
    SublimeREPL.sublime-settings

或者

User/

    SublimeREPL.sublime-settings

事实上,我在上面的三个JSON 文件中分别添加了以下内容,但没有任何效果:

{
    "default_extend_env": {"PATH": "/Library/Frameworks/Python.framework/Versions/2.7/bin:/usr/local/bin/python2.7:{PATH}"}
}
4

3 回答 3

18

如果你想使用repl_open你可以编辑cmd配置中的参数。我正在使用 Ubuntu,它位于:

/home/stav/.config/sublime-text-2/Packages/SublimeREPL/config/Python/Main.sublime-menu

{"command": "repl_open",
"caption": "Python",
"id": "repl_python",
"mnemonic": "p",
"args": {
  "type": "subprocess",
  "encoding": "utf8",
  "cmd": ["/usr/local/bin/python", "-i", "-u"],
  "cwd": "$file_path",
  "syntax": "Packages/Python/Python.tmLanguage",
  "external_id": "python"
  }
},
于 2012-05-23T02:19:37.547 回答
1

@Steven Almeroth 解决方案对我不起作用。

而是更改了以下目录中的参数:packages/Python/Python.sublime-build

那里提供了以下代码。只需将 cmd 更改为您的 brew 所在的目录即可。

{
"cmd": ["/Library/Frameworks/Python.framework/Versions/2.7/bin/python", "-u", "$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python"
}
于 2013-05-07T12:49:33.627 回答
0

根据我的经验,修复专门为 Sublime Text 2 进程修补环境变量的版本更容易

我发现的唯一直接而愚蠢的解决方案 - 破解 Sublime Text 2 的环境变量。这可以通过在文件夹中创建具有任何名称的 .py 文件来完成:

~/Library/Application Support/Sublime Text 2/Packages/User/

只需在此处添加您需要的路径,所有插件都将使用这些设置。在 Rob Dodson 的博文中查看更多信息:http://robdodson.me/blog/2012/05/14/hacking-the-path-variable-in-sublime-text/

示例.py:

import os

LOCAL = '/usr/local/bin:/usr/local/sbin:'

# Sublime's default path is
# /usr/bin:/bin:/usr/sbin:/sbin
os.environ['PATH'] += ':'
os.environ['PATH'] += LOCAL

print 'PATH = ' + os.environ['PATH']
于 2013-05-14T23:05:34.623 回答