将Sublime Text 2 Packages指向正确的python安装

时间:2012-05-23 01:35:36

标签: python macos sublimetext2 environment-variables sublimetext

我只是想将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包时,所以在该Package中的一个配置文件中必须有一个设置,让我将SublimeREPL指向正确的蟒蛇。

但是我找不到它。

似乎我已经用尽了所有合理的选项,通过我的/ 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}"}
}

3 个答案:

答案 0 :(得分: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"
  }
},

答案 1 :(得分:1)

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

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

那里有以下代码。将cmd简单地更改为python brew所在的目录。

{
"cmd": ["/Library/Frameworks/Python.framework/Versions/2.7/bin/python", "-u", "$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python"
}

答案 2 :(得分: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']