繁体   English   中英

VS Code Jupyter 扩展:远程笔记本未启动

[英]VS Code Jupyter Extension: Remote notebook not starting

我正在尝试使用 VS Code Jupyter 扩展连接到远程 Jupyter 笔记本。

使用CMD + Shift + P<\/kbd> -> Jupyter: Enter the URL of local\/remote Jupyter notebook<\/code>会弹出一个输入字段,我在其中输入笔记本的地址。 之后显示一个要求令牌的输入字段。 当我输入令牌并按Enter<\/kbd>时,没有任何反应。

我尝试使用 VS Code for MacOS 和 Linux Mint 进行连接。 使用托管在localhost:8888<\/code>上的笔记本以及托管在我的家庭网络192.168.0.11:8888<\/code>内的另一台计算机上的笔记本。 两种方式都行不通。

我可以通过浏览器访问 Jupyter 笔记本。

当我使用安装了jupyter<\/code>的 Python 环境按命令行启动 VS Code 时,我还可以在 VS Code 中运行笔记本(纯粹)。 如果我没有在安装了jupyter<\/code>的 Python 环境中启动 VS Code,我将无法运行任何笔记本(但这似乎是一个已知问题)。

我该如何解决这个问题(连接到远程笔记本)?

有人能够连接到远程笔记本吗? (如果是,如何?)

使用以下命令:

jupyter notebook --ip=0.0.0.0 --port=8080 --allow-root

乍一看,您似乎得到了不正确的令牌。 当我选择输入远程服务器的 URL 的选项并得到错误的令牌时,唯一的迹象表明事情不正常是我无法执行任何 Python 代码。 而且,当我在浏览器中使用相同的 Url 时,我得到了一个要求我输入令牌的 Web UI。 一旦我找到并输入了一个有效的令牌,我就得到了他们在笔记本上工作的漂亮的小 UI。

至于我的经验,我刚刚在 VsCode 中运行它:我在 VsCode 中打开了一个 .ipynb 文件,它被切换为指向我的远程 Jupyter 服务器,我可以针对它执行代码并获得输出。

我的设置概述

先决条件

  1. 我使用 Python、Pylance、Jupyter、Jupyter Keymap 和 Jupyter Notebook Renderers 扩展设置了 VsCode。 我将这些作为我最初涉足 Python 的一部分,然后使用 Jupyter Notebooks。
    • 虽然我已经能够使用 Jupyter Notebooks 并在我的本地计算机上使用自动完成/智能感知,但我不知道需要哪些扩展,也没有我做的一些设置作为关键的一部分使此远程设置正常工作。
  2. 我在 Windows 10 机器上,并使用 Ubuntu 映像设置 WSL2,并在其中安装和设置 Docker。

步骤

  1. 安装一个包含 Spark、Python、PySpark 和 Jupyter 的 docker 镜像: docker run -d --name jspark -p 8888:8888 jupyter/pyspark-notebook
  2. 获取授权令牌: docker exec -it jspark jupyter server list
  3. 获取eth0的 IP 地址: ip addr
  4. 使用前 2 个步骤的输出,构建最终 URL,您可以使用该 URL 从主机 (Windows) 操作系统连接到 Jupyter 服务器。
  5. 通过在浏览器中导航到它来证明它有效。
  6. 在 VsCode 中,使用与远程 Jupyter 服务器位置相同的 URL。

如果一切按预期进行,VsCode 会在测试连接时“思考”一段时间,然后您会看到“播放”按钮显示在 Python 单元格的左侧。

我用这段代码来证明它是有效的:

from pyspark.sql import SparkSession

spark = SparkSession.builder.getOrCreate()
df = spark.read.json("/usr/local/spark/examples/src/main/resources/people.json")
df.show()

现在我可以继续改进体验,因为我有一个已知的工作基线。 我希望让自动完成/智能感知工作,但根据我目前所读到的内容,我并没有屏住呼吸。

我遇到的问题如下

command 'jupyter.selectExistingNotebook' not found

我在 vscode 上安装了 Jupyter 扩展。 按照说明操作:Server / Docker 上的远程 Jupyter 内核

尝试连接到在服务器上或 Docker 容器内运行的远程 Jupyter 内核:

启动远程 Jupyter Notebook 或无头 KernelGateway

在 Jupyter 服务器日志的输出中找到令牌: http ://jupyter-notebook.readthedocs.io/en/latest/security.html

然后在 VS Code 中:ctrl+shift+p

Jupyter:输入本地/远程 Jupyter Notebook 的 url

我只安装了 docker 并运行了容器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM