为 JupyterHub 创建虚拟环境

时间:2021-06-10 04:58:04

标签: python jupyterhub

我无法在 JupyterHub 3.0.14 版中使用虚拟环境。我没有对服务器的 shell 访问权限,但我可以使用 JupyterHub 终端。

第一步

在阅读了一些文档后,我这样做了:

  • ipykernel 环境中安装了 base,在 JupyterHub 终端中使用:pip install --user ipykernel
  • 使用 python -m venv test-env
  • 创建了一个新环境
  • 使用 python -m venv test-env2
  • 创建了一个新环境
  • 运行python -m ipykernel install --user --name=test-env
  • 运行python -m ipykernel install --user --name=test-env2

在前面的子步骤之后,我在 JupyterHub 中找到了新环境,我可以使用菜单“新建”->“环境名称”打开一个新笔记本。

步骤 2

在 JupyterHub 中,我选择“new”->“test-env”。在新笔记本中,我尝试导入一个新模块,例如 hiplot,由于未安装而收到错误。

为了在 hiplot 环境中安装 test-env,我打开一个 JupyterHub 终端,使用 source [...]/bin/activate 激活环境,然后使用 pip install hiplot,成功。如果我从命令行运行 python 并且 import hiplot 我没有收到任何错误。

步骤 3

我在 test-env 中创建了一个新笔记本,如第 2 步(菜单中的“new”->“test-env”),但我仍然无法使用 hiplot,结果未安装.如果我尝试导入它,JupyterHub 会告诉我它没有安装。

问题:在第 2 步和第 3 步之后,我假设从命令行或 JupyterHub 访问时 test-env 不是指相同的环境。我说得对吗?

步骤 4

在 JupyterHub 的 test-env 内运行的笔记本内,我运行:`

import sys
!{sys.executable} -m pip install hiplot

在上一个命令之后,我可以在当前笔记本中导入 hiplot

但是

步骤 5

我在 basetest-env2 环境中打开了一个新的 JupyterHub 笔记本,我认为 hiplot 不可用。但我错了:模块 hiplot 在它们两个中都可用。

似乎在第 4 步中,hiplot 已安装在 base 环境中,因此可用于所有 JupyterHub 环境。

我尝试重复更改步骤 1 的相同步骤:我没有在基本环境中安装 ipykernel,而是将其安装在 test-env 中,但没有成功。

问题:真的可以在 JupyterHub 中使用环境吗?如果是,我做错了什么?我一直在阅读帮助页面,但我一直在寻找使用相同命令的说明......

问题如何在系统 python 和 Jupyter 笔记本之间共享一组已安装的模块?

0 个答案:

没有答案