我一直在努力让这个工作.我已经跟踪了我能找到的在线资料但是没有成功,例如:Ipython Documentation
我正在尝试将本地计算机(笔记本电脑)上的IPython QTConsole连接到Internet上Linode云服务器上运行的IPython内核.
我现在不担心安全性,只需要简单的方法来做到这一点.
我知道我可以使用somethign在远程(Linode服务器)上启动内核,例如:
Ipython kernel --ip=0.0.0.0
Run Code Online (Sandbox Code Playgroud)
一旦我运行这个,我可以记下kernel-xxxx.json文件,我也知道要在远程机器上找到它.使用0.0.0.0表示法我理解内核将侦听外部连接.
我只是不确定如何从我的本地机器(笔记本电脑)连接到它
让我们说
Remote machine IP adres = aa.bb.cc.dd
Remote machine Login name = root
Remote machine hostname = dummyname
Run Code Online (Sandbox Code Playgroud)
本地机(笔记本电脑)
IPAdress = qq.ww.ee.rr
Run Code Online (Sandbox Code Playgroud)
我可以正常看到服务器和ssh,例如
ssh root@aa.bb.cc.dd
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮我用ipython命令行从我的笔记本电脑连接到这个远程内核吗?
首先,您必须知道服务器的IP地址(ifconfig在posix和ipconfigWindows上).可以说IP地址是10.10.10.10.
然后,您可以在服务器上启动内核:
ipython kernel --ip=* --IPKernelApp.connection_file=/tmp/kernel.json
Run Code Online (Sandbox Code Playgroud)
内核启动时,获取内容 /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
}
Run Code Online (Sandbox Code Playgroud)
在您的客户端上创建一个/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
}
Run Code Online (Sandbox Code Playgroud)
之后你可以开始qtconsole:
ipython qtconsole --existing /path/to/your/kernel.json
Run Code Online (Sandbox Code Playgroud)
您可以根据qtconsoles需要将同一内核连接到同一个内核.
注意:不要调用exit()函数退出qtconsole,这将停止你的内核.只需单击关闭窗口按钮即可.
| 归档时间: |
|
| 查看次数: |
4276 次 |
| 最近记录: |