断开连接后,在远程服务器(SSH)上继续使用 VSCode 运行 Jupyter 笔记本

问题描述 投票:0回答:3

我正在通过 ssh 使用 jupyter 笔记本扩展在远程服务器上使用 VSCode。 但是当我与会话断开连接时,代码的进程将停止。 有没有一种方法可以使用 tmux 等工具通过后台进程从 VSCode 运行笔记本。 因为我还不是 Linux 专家,我不知道如何通过 VSCode 使用 tmux 运行笔记本进程。

提前非常感谢。

visual-studio-code jupyter-notebook tmux vscode-remote
3个回答
1
投票

只需在远程终端中启动 tmux 进程即可在 tmux 会话中启动 Jupyter。您可以退出 tmux 会话而无需关闭它。 在 VSC 中,您可以选择 tmux 会话作为主机。


0
投票
  1. 在服务器上打开一个新的 tmux 会话:例如,
    tmux new -s my_sess
  2. 进入带有笔记本的文件夹
  3. 如果您使用 Anaconda,请使用您的库(包括 Jupyter)激活环境
  4. 启动 jupyter 笔记本,可选择指定要将其转发到的端口:例如,
    jupyter notebook --no-browser --port=8080 &
  5. 断开与 tmux 的连接
  6. 在 VS Code 中打开笔记本
  7. 在右上角,单击按钮选择您的内核,然后选择选项“选择另一个内核”->“现有 jupyter 服务器”->“输入正在运行的 Jupyter 服务器的 URL”
  8. 如果你按照我在第 4 点中写的那样操作,请写“http://localhost:8080/”
  9. 此时,系统会要求您选择Python内核。我认为你可以选择任何选项,并且在任何情况下它都会使用在 tmux 中的 jupyter 服务器上运行的内核

0
投票

菲洛兹的回答对我有用。我关闭了 vscode(单击大 X,而不是提示我是否要保存的选项卡),然后重新打开 vscode(它会自动从现有的 jupyter 笔记本服务器打开与内核的远程连接)。我运行的单元仍在运行。

在我的用例中,我一直在训练 Tensorflow 模型,在整个训练过程中将数据导出到 Tensorboard。当 vscode 关闭但 Tensorboard 打开时,数据仍然不断被推送到 Tensorboard,所以我知道单元仍在运行。

© www.soinside.com 2019 - 2024. All rights reserved.