在我的本地计算机上使用 Jupyter Notebook 在远程计算机上运行代码

col*_*lin 7 jupyter jupyter-notebook

我使用 Jupyter Notebook 运行生物信息学分析,我喜欢它。但是,只有在我的个人计算机上运行它时,它才能真正发挥作用。但是,我经常使用具有多核的远程计算机进行分析以减少处理时间。我希望能够在我的个人计算机上使用 Jupyter Notebook 界面,而实际上一切都在远程计算机上运行。我通常通过 ssh 访问 shell 中的远程计算机并在命令行执行所有命令来执行此操作。我希望在我的个人计算机上的 Jupyter 笔记本上执行此操作,而不是从我个人计算机上的 shell 中执行此操作。相关的是我在远程计算机上没有 sudo 访问权限。

到目前为止,我已经安装minicondajupyter notebook在远程计算机上是这样的:

wget https://repo.continuum.io/miniconda/Miniconda-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
Run Code Online (Sandbox Code Playgroud)

正确安装 conda 后,我使用以下行通过 miniconda 安装 jupyter notebook:

conda install jupyter
Run Code Online (Sandbox Code Playgroud)

这样就安装成功了。然后,我可以使用以下行在远程计算机上启动 jupyter notebook 会话:

jupyter notebook --no-browser
Run Code Online (Sandbox Code Playgroud)

到现在为止还挺好。我的下一个问题:如何将本地 jupyter notebook 连接到远程机器,以便我可以使用本地 jupyter notebook 在远程机器上执行命令?有一些文件在这里,但我一直在尝试不同的事物了几个小时,但都未能成功。

鉴于我已经走了这么远,任何人都可以提供一种直接的方法来连接到我的远程服务器吗?我觉得这应该只是在我的本地 Jupyter 笔记本中输入 url 地址和密码的问题(所有这些都可以通过 shell 中的 ssh 轻松完成)。

Som*_*ary 5

请按照以下步骤操作:
在远程机器上启用端口转发

ssh -N -f -L 127.0.0.1:8898:127.0.0.1:8898 user@remote-machine.com
Run Code Online (Sandbox Code Playgroud)

ssh你的远程机器,然后运行下面的远程计算机上的命令

jupyter-notebook --no-browser --port=8898
Run Code Online (Sandbox Code Playgroud)

你会看到一些如下所示的东西

    Copy/paste this URL into your browser when you connect for the first time,
    to login with a token:
http://localhost:8898/token=eaf2f51f9c053f43d8bd093e76f0cc6301b545549c998fa2&token=eaf2f51f9c053f43d8bd093e76f0cc6301b545549c998fa2
Run Code Online (Sandbox Code Playgroud)

将 URL 复制并粘贴到本地计算机浏览器中。

  • 我不相信这能回答问题。他希望在本地运行该笔记本,就像在他个人笔记本电脑上的 jupiter 笔记本中一样,并利用远程计算机进行处理。此答案在远程计算机上运行笔记本和执行。 (3认同)

mra*_*ade 3

如果你想远程访问在VPS上运行的Jupyter/Ipython笔记本,我在数字海洋社区网站上写了一篇教程。

如指南所示,在服务器上使用命令行安装并运行 Ipython Notebook 后,您可以使用 Putty(在 Windows 上)的 SSH 隧道或类 Unix 系统(即 Mac 和 Linux)上的 ssh -L 命令连接到笔记本)

  • 我看不出这如何回答这个问题。问题是关于在本地运行笔记本,但能够在远程主机上执行命令。它更像是 https://github.com/takluyver/bash_kernel 但不是在本地 shell 中运行命令,而是通过 ssh 在远程 shell 中运行命令。 (3认同)