Как настроить SublimeREPL с помощью интерпретатора Anaconda?

Мне нравится Python в Sublimetext, но мне действительно нужен интерактивный режим для исследования данных. Однако для жизни я не могу заставить SublimeREPL использовать интерпретатор Anaconda. Любые идеи будут оценены.

Я добавил следующее в файл SublimeREPL.settings.user, но это не имеет никакого эффекта:

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

Ответ 1

В вашей папке 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" измените /path/to/Anaconda/python на фактический путь к исполняемому файлу python, который вы хотите использовать. Если вы работаете в Windows, используйте один разделитель / как разделитель путей или double \\:

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

Сохраните файл, и теперь вы должны иметь опции меню Tools -> SublimeREPL -> Python -> Python - Anaconda и IPython - Anaconda, чтобы запустить REPL с помощью интерпретатора Anaconda. Если у вас установлено несколько версий Python (например, 2.7 и 3.3), вы можете просто дублировать содержимое children и соответствующим образом изменять пути caption и cmd.

Ответ 2

С оговоркой, что это старый вопрос с принятым ответом, который заставляет проблему уйти, он напрямую не отвечает на ваш вопрос. (Я бы сделал это комментарием, но у меня нет достаточной репутации.)

Причина, по которой ваша строка настроек пользователя не работает, заключается в том, что вы указали путь неверно. Вы не включаете косую черту перед Users, поэтому это относительный путь, а не абсолютный, и вы также даете полный путь к двоичному файлу Python, а не к каталогу, содержащему двоичный файл. Переписывая то, что вам нужно:

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

должен решить вашу проблему. Кроме того, я считаю, что лучше всего скопировать содержимое файла настроек SublimeREPL по умолчанию в файл настроек пользователя, а затем добавить строку default_extend_env в конец.