无法在docker镜像中安装任何jupyterlab扩展

j13ufse2  于 2023-04-05  发布在  Docker
关注(0)|答案(3)|浏览(141)

我正在本地主机上运行的管道代理上的Azure管道中运行docker构建任务。我正在尝试“运行jupyter labextension install @jupyter-widgets/jupyterlab-manager”。
在基础图像中:node=14.14.0jupyter=1.0.0jupyter-packaging = 0.7.12jupyter-resource-usage= 0.5.1jupyter_client = 6.1.7jupyter_console = 6.2.0jupyter_core = 4.7.0jupyter_server = 1.6.1jupyter_telemetry = 0.1.0jupyterhub = 1.3.0jupyterhub-base = 1.3.0jupyterlab = 3.0.12jupyterlab-git = 0.30.0b2jupyterlab-templates = 0.2.5jupyterlab_code_formatter=1.4.5jupyterlab_pygments = 0.1.2jupyterlab_server = 2.3.0
Dockerfile看起来像这样:

USER root
COPY files/.npmrc $HOME/.npmrc
RUN jupyter labextension install --no-build @jupyter-widgets/jupyterlab-manager .....

.npmrc看起来像这样:

always-auth=true
strict-ssl=false
registry=https://pkgs.dev.azure.com/org-name/proj-name/_packaging/proj-name/npm/registry/
https-proxy=the-proxy-url
proxy=the-proxy-url

管道执行以下任务:
1.在.npmrc上运行npmAuthenticate任务,以使用auth-token编辑.npmrc文件。
1.接下来运行docker build。Dockerfile指示将此修改后的.npmrc复制到$HOME并尝试安装实验室扩展
找到此主题:https://github.com/jupyter-widgets/ipywidgets/issues/1982#issuecomment-468716770我们使用jupyterlab v3。所以node〉=12是必需的。所以我将Dockerfile改为:

USER root
COPY files/.npmrc $HOME/.npmrc
RUN conda remove nodejs && conda install -c conda-forge nodejs=12 && conda list | grep nodejs &&\
jupyter labextension install --no-build @jupyter-widgets/jupyterlab-manager .....

也试过这个:https://stackoverflow.com/a/52484330/3575135.没有帮助
正常的“npm install @angular/cli”可以工作。但是实验室扩展给了我一段艰难的时间。在这一点上似乎什么都不起作用。
这是错误:
ValueError: "@jupyter-widgets/jupyterlab-manager" is not a valid npm package
救命啊!

hec6srdp

hec6srdp1#

您不应该安装Node.js或@jupyter-widgets/jupyterlab-manager用于JupyterLab 3.0+。扩展系统已经得到改进,新的“联邦扩展”系统不再需要Node.js(并且大多数扩展已经从Node.js需求迁移)。@jupyter-widgets/jupyterlab-manager的自述文件明确指出,对于JupyterLab 3.0+,您应该用途:

pip install jupyterlab_widgets

大多数扩展也是如此--如果它们迁移了,它们的自述文件中会有一个PyPI包的名称。如需更深入的解释,请阅读此答案。
作为一个好的建议,请只对尚未迁移到pip/conda可安装的联邦扩展的扩展使用jupyter labextension install

wgeznvg7

wgeznvg72#

将npmrc复制到/.npmrc而不是$HOME/. npmrc。

yzckvree

yzckvree3#

@krassowski这根本不正确。跑步
jupyter labextension install
得出以下结果:
(已弃用)使用jupyter labextension install命令安装扩展现在已弃用,并将在未来的JupyterLab主要版本中删除。
用户应该使用像pip和conda这样的包管理器来管理预构建的扩展,并且鼓励扩展作者将他们的扩展作为预构建的包分发

相关问题