我无法在 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
我在 base
或 test-env2
环境中打开了一个新的 JupyterHub 笔记本,我认为 hiplot
不可用。但我错了:模块 hiplot
在它们两个中都可用。
似乎在第 4 步中,hiplot 已安装在 base
环境中,因此可用于所有 JupyterHub 环境。
我尝试重复更改步骤 1 的相同步骤:我没有在基本环境中安装 ipykernel,而是将其安装在 test-env
中,但没有成功。
问题:真的可以在 JupyterHub 中使用环境吗?如果是,我做错了什么?我一直在阅读帮助页面,但我一直在寻找使用相同命令的说明......
问题如何在系统 python 和 Jupyter 笔记本之间共享一组已安装的模块?