- 我有一台 Windows 机器,我在其中启动 IPython 内核(来做一些在另一台机器上不可能做的事情)。
- 我有一台 Linux 机器,我想从它连接到 Windows 机器上运行的 IPython 内核。
- 我可以通过 SSH 从 Linux 计算机连接到 Windows 计算机(使用以下解决方案:https://superuser.com/a/172299 https://superuser.com/a/172299).
我尝试过以下操作:https://github.com/ipython/ipython/wiki/Cookbook:-通过 ssh 连接到远程内核 https://github.com/ipython/ipython/wiki/Cookbook:-Connecting-to-a-remote-kernel-via-ssh。自动和手动解决方案均给出以下内容:
“错误:内核没有响应”
使用相同的解决方案,我可以从 Linux 计算机连接到 Linux 服务器上运行的 IPython 内核。有什么解决方案可以让它在 Linux 到 Windows 上工作吗?
您不需要 SSH 来连接到远程ipython
内核,无论它是否是ipython
内核运行于Windows
or Linux
or Mac
。您需要做的是让远程内核的 Ip 对您尝试连接的终端可见。步骤如下:
-
找出该设备的IP地址server
(运行 ipython 内核的机器,即您希望进行计算的机器)和client
(您尝试连接的机器):
1.1.如果你在Windows
,打开命令提示符并执行ipconfig
找出 IP 地址。如果Windows
服务器有一个直接的互联网连接/局域网连接,你应该看到几个像这样的ip192.168.57.1
and 10.2.3.64
and 127.0.0.1
.
1.2.如果你在linux
,打开终端并输入ifconfig
or ip addr show
。您应该会再次看到几个 ip,例如192.168.57.1
and 10.2.3.64
and 127.0.0.1
.
1.3.测试您的至少一项server
ip 地址可见client
: 平你的server
从你的client
,使用命令ping
. ping
可在 Windows 或 Linux 终端上运行。如果您将 Windows/Linux 作为虚拟机运行或位于防火墙后面,则很可能您的客户端或服务器从另一端看不到。您不必 ping IP 地址127.0.0.1
。这是一个环回地址,仅在您获取此 IP 地址的同一台机器上可见。例如,如果您 ping127.0.0.1
从 Windows 计算机,它将 ping 同一台 Windows 计算机。如果你的client
and server
实例运行在同一台机器上,那么使用这个地址就可以了。但是,如果您的客户端或服务器运行在虚拟机或不同的计算机上,那么127.0.0.1
不会工作。
-
启动远程内核:
2.1.一旦你弄清楚服务器上的哪个 IP 地址对客户端是可见的,就可以使用以下命令在计算机上启动内核ipython kernel
。 ipython 内核将启动并显示“要将另一个客户端连接到此内核,请使用:
--现有内核-1234.json
2.2.找到kernel-1234.json
文件在你的server
通过导入(https://stackoverflow.com/a/35094772/4752883 https://stackoverflow.com/a/35094772/4752883)
In [1]: from jupyter_client import find_connection_file
In [2]: find_connection_file()
Out[2]: 'C:\\Users\\me\\AppData\\Roaming\\jupyter\\runtime\\kernel-1234.json'
这适用于Linux
or Windows
.
-
启动远程客户端:
3.1.找到该文件后,使用以下命令将其复制到您的服务器计算机上scp
在 Linux 或pscp
or winscp
在窗口中SCP w/ ssh:使用 scp 将本地文件从 Windows 复制到远程服务器 https://stackoverflow.com/questions/8975798/scp-w-ssh-copying-a-local-file-from-windows-to-a-remote-server-using-scp/23412501#23412501
3.2.确保你的目录与kernel-1234.json
file.
3.3.打开kernel-1234.json
使用 vim 或您喜欢的文本编辑器创建文件。你会注意到一行字"ip": "127.0.0.1"
。改变127.0.0.1
the ip
您在步骤中找到的从客户端可见的服务器地址1.3
并保存json
file.
3.4.使用启动远程内核jupyter console –existing=kernel-1234.json
,同时位于同一驱动器中kernel-1234.json
位于。
如果您已按照上述步骤操作,那么您现在应该能够连接到远程 ipython 内核,无论 ipython 内核是否运行在Windows
/Linux
/Mac
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)