我一直在努力让这个工作。我已经跟踪了我能找到的在线资料但是没有成功,例如:Ipython Documentation
我正在尝试将本地计算机(笔记本电脑)上的IPython QTConsole连接到互联网上Linode云服务器上运行的IPython内核。
我现在并不担心安全性,只需要采用简单的方式来实现这一点。
我知道我可以使用像:
之类的东西在远程(Linode服务器)上启动内核Ipython kernel --ip=0.0.0.0
一旦我运行这个,我可以记下kernel-xxxx.json文件,我也知道要在远程机器上找到它。使用0.0.0.0表示法我理解内核将监听外部连接。
我只是不确定如何从我的本地机器(笔记本电脑)连接到它
让我们说
Remote machine IP adres = aa.bb.cc.dd
Remote machine Login name = root
Remote machine hostname = dummyname
本地机器(笔记本电脑)
IPAdress = qq.ww.ee.rr
我可以正常看到服务器和ssh,例如。
ssh root@aa.bb.cc.dd
有人可以帮我用ipython命令行从我的笔记本电脑连接到这个远程内核吗?
答案 0 :(得分:7)
首先,您必须知道服务器的IP地址(posix上的ifconfig
和Windows上的ipconfig
。假设IP地址为10.10.10.10
。
然后您可以使用以下命令在服务器上启动内核:
ipython kernel --ip=* --IPKernelApp.connection_file=/tmp/kernel.json
启动内核后,获取/tmp/kernel.json
$ cat /tmp/kernel.json
{
"stdin_port": 59836,
"ip": "*",
"hb_port": 50806,
"key": "11c2f53e-ad38-4d1d-b038-2f4bd04c4d49",
"shell_port": 49904,
"iopub_port": 55081
}
在您的客户端上创建一个具有相同内容的/path/to/your/kernel.json
文件,但ip地址是真实IP地址,而不是*
:
{
"stdin_port": 59836,
"ip": "10.10.10.10",
"hb_port": 50806,
"key": "11c2f53e-ad38-4d1d-b038-2f4bd04c4d49",
"shell_port": 49904,
"iopub_port": 55081
}
之后,您可以使用
开始qtconsole
ipython qtconsole --existing /path/to/your/kernel.json
您可以根据需要将尽可能多的qtconsoles
连接到同一个内核。
注意:请勿调用exit()
函数退出qtconsole
,这将停止内核。只需单击关闭窗口按钮。