如何使用Anaconda的解释器设置SublimeREPL?

时间:2013-12-31 17:38:32

标签: python sublimetext anaconda

我喜欢Sublimetext中的Python,但我真正需要的是一种用于数据探索的交互模式。然而,对于我的生活,我无法让SublimeREPL使用Anaconda的翻译。任何想法都将不胜感激。

我已将以下内容添加到我的SublimeREPL.settings.user文件中,但它没有任何效果:

{
    "default_extend_env": {"PATH": "Users/anton/anaconda/envs/py3k/bin/python3:{PATH}"}
}

3 个答案:

答案 0 :(得分:16)

Packages/User文件夹中,使用以下内容创建SublimeREPL/config/Python/Main.sublime-menu

[
    {
        "id": "tools",
        "children":
        [{
            "caption": "SublimeREPL",
            "mnemonic": "r",
            "id": "SublimeREPL",
            "children":
            [
                {
                    "caption": "Python",
                    "id": "Python",

                    "children":[
                        {
                            "command": "repl_open",
                            "caption": "Python - Anaconda",
                            "id": "repl_python",
                            "mnemonic": "p",
                            "args": {
                                "type": "subprocess",
                                "encoding": "utf8",
                                "cmd": ["/path/to/Anaconda/python", "-i", "-u"],
                                "cwd": "$file_path",
                                "syntax": "Packages/Python/Python.tmLanguage",
                                "external_id": "python",
                                "extend_env": {"PYTHONIOENCODING": "utf-8"}
                            }
                        },
                        {
                            "command": "repl_open",
                            "caption": "IPython - Anaconda",
                            "id": "repl_python_ipython",
                            "mnemonic": "p",
                            "args": {
                                "type": "subprocess",
                                "encoding": "utf8",
                                "autocomplete_server": true,
                                "cmd": ["/path/to/Anaconda/python", "-u", "${packages}/SublimeREPL/config/Python/ipy_repl.py"],
                                "cwd": "$file_path",
                                "syntax": "Packages/Python/Python.tmLanguage",
                                "external_id": "python",
                                "extend_env": {
                                    "PYTHONIOENCODING": "utf-8",
                                    "SUBLIMEREPL_EDITOR": "$editor"
                                }
                            }
                        }
                    ]
                }
            ]
        }]
    }
]

"cmd"行中,使用您要使用的python可执行文件的实际路径更改/path/to/Anaconda/python。如果您使用的是Windows,请使用单个/作为路径分隔符,或使用\\加倍:

c:/Anaconda/bin/python.exe
# or
c:\\Anaconda\\bin\\python.exe

保存文件,您现在应该有Tools -> SublimeREPL -> Python -> Python - AnacondaIPython - Anaconda菜单选项以使用Anaconda解释器启动REPL。如果您安装了多个版本的Python(例如,2.7和3.3),则只需复制children内容并相应地更改captioncmd路径。

答案 1 :(得分:7)

有一点需要注意,这是一个老问题,并且已接受的答案会让您的问题消失,但它并没有直接回答您的问题。 (我本来可以发表评论,但我没有足够的声誉。)

您的用户设置行无法正常工作的原因是您未正确指定路径。您没有在Users之前包含斜杠,因此它是相对路径而不是绝对路径,并且您还提供了Python二进制文件的完整路径,而不是包含二进制文件的目录。重写你所拥有的:

{
    "default_extend_env": {"PATH": "/Users/anton/anaconda/envs/py3k/bin:{PATH}"}
}

应该解决你的问题。此外,我认为最佳做法是将Default SublimeREPL设置文件的内容复制到用户设置文件,然后在末尾添加default_extend_env行。

答案 2 :(得分:0)

我按照已接受的答案的指示进行了操作,但是看到两个选项变灰了:

enter image description here