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

标签 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

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

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

到现在为止还挺好。我的下一个问题:如何将本地 jupyter notebook 连接到远程机器,以便我可以使用本地 jupyter notebook 在远程机器上执行命令?有一些文档 here ,但是我几个小时以来一直在尝试不同的东西,但没有成功。

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

最佳答案

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

ssh -N -f -L 127.0.0.1:8898:127.0.0.1:8898 user@remote-machine.com

ssh到您的远程机器,然后在远程机器上运行以下命令
jupyter-notebook --no-browser --port=8898

你会看到一些如下所示的东西
    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

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

关于jupyter - 在我的本地计算机上使用 Jupyter Notebook 在远程计算机上运行代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35399059/

相关文章:

python - 如何在 Altair 中制作 "small multiples"( map )图表

python - 如何将数据从 google drive 导入 google colab?

python - 使用python从文本中提取最后一段

python - Jupyter 笔记本小部件 : Create dependent dropdowns

python - 如何仅使用 IPython Notebook 引用 ApacheSpark 的库?

python - 如何修复 ipykernel_launcher.py : error: unrecognized arguments in jupyter?

python - 为什么我在 python 3.6 的 jupyter Notebook 中收到警告以及如何修复它们?

python - 使用 ipywidget 进行多项选择测试

python - 使用 Ipywidgets 按索引绘制 DataFrame 的交互式绘图

html - 将 matplotlib 图嵌入 iPython HTML