I fail when I tried to use IPython with SublimeREPL.
My setup is:
- Windows 8.1
- Sublime Text 3
- C:\Python34
- C:\Python27
- C:\Anaconda3\Scripts -> Here it's where Ipython is
My PYTHONPATH and PATH are correct and I wrote in SublimeREPL settings - User:
{
"default_extend_env": {"PATH": "{PATH};C\\Anaconda3\\Scripts"}
}
It's solved. I make a file named Main.sublime-menu
within the folder Sublime Text 3\Packages\User\SublimeREPL\config\Python
[
{
"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
doesn't run ipython
executable directly - it uses its API to start the console, therefore IPython
needs to be importable, what means it needs to be on PYTHONPATH
. So, extend default_extend_env
config with PYTHONPATH
pointing it to IPython
source folder.
There are 2 ways to make it, win10, conda python3.6.7, Ipython7.1.1, Sublime 3.1.1
1.Open \Packages\SublimeREPL\config\Python\Main.sublime-menu, find the line
"windows": ["python", "-u", "${packages}/SublimeREPL/config/Python/ipy_repl.py"]
and change it to where your ipython.exe located, for me is
"windows": ["C:\\Python\\envs\\py37\\Scripts\\ipython.exe"]
2.Just modified \Packages\SublimeREPL\config\Python\ipy_repl.py to 3 lines,
import os
# change dir to path_to_ipython.exe
os.chdir(r'C:\Python\envs\py37\Scripts')
os.system('ipython')
I prefer the second one, if you encount problems with first way, such as your shortcut about sublimeREPL not work (happens to me:(), try second one.