SublimeREPL 和 IPython

SublimeREPL and IPython

当我尝试将 IPython 与 SublimeREPL 一起使用时我失败了。

我的设置是:

- Windows 8.1
- Sublime Text 3
- C:\Python34
- C:\Python27
- C:\Anaconda3\Scripts -> Here it's where Ipython is

我的 PYTHONPATH 和 PATH 是正确的,我在 SublimeREPL 设置中写了 - 用户:

{
    "default_extend_env": {"PATH": "{PATH};C\Anaconda3\Scripts"}
}

解决了。我在文件夹 Sublime Text 3\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": "IPython - Anaconda",
                        "id": "repl_python_ipython",
                        "mnemonic": "p",
                        "args": {
                            "type": "subprocess",
                            "encoding": "utf8",
                            "autocomplete_server": true,
                            "cmd": ["C:/Anaconda3/Scripts/ipython", "--colors=NoColor"],
                            "cwd": "$file_path",
                            "syntax": "Packages/Python/Python.tmLanguage",
                            "external_id": "python"

                        }
                    }
                ]
            }
        ]
    }]
}
]

SublimeREPL 不能直接 运行 ipython 执行 - 它使用它的 API 来启动控制台,因此 IPython 需要是可导入的,它需要在 PYTHONPATH 上意味着什么。因此,使用 PYTHONPATH 扩展 default_extend_env 配置,将其指向 IPython 源文件夹。

有2种方式制作,win10,conda python3.6.7,Ipython7.1.1,Sublime 3.1.1

1.Open \Packages\SublimeREPL\config\Python\Main.sublime-菜单,找到行

"windows": ["python", "-u", "${packages}/SublimeREPL/config/Python/ipy_repl.py"]

并将其更改为您 ipython.exe 所在的位置,对我来说是

"windows": ["C:\Python\envs\py37\Scripts\ipython.exe"]

2.Just修改\Packages\SublimeREPL\config\Python\ipy_repl.py为3行,

import os
# change dir to path_to_ipython.exe
os.chdir(r'C:\Python\envs\py37\Scripts')
os.system('ipython')

我更喜欢第二种,如果你遇到第一种方式的问题,比如你关于 sublimeREPL 的快捷方式不起作用(发生在我身上:(),试试第二种。