我正在本地主机上运行的管道代理上的Azure管道中运行docker构建任务。我正在尝试“运行jupyter labextension install @jupyter-widgets/jupyterlab-manager”。
在基础图像中:node=14.14.0
jupyter=1.0.0
jupyter-packaging = 0.7.12
jupyter-resource-usage= 0.5.1
jupyter_client = 6.1.7
jupyter_console = 6.2.0
jupyter_core = 4.7.0
jupyter_server = 1.6.1
jupyter_telemetry = 0.1.0
jupyterhub = 1.3.0
jupyterhub-base = 1.3.0
jupyterlab = 3.0.12
jupyterlab-git = 0.30.0b2
jupyterlab-templates = 0.2.5
jupyterlab_code_formatter=1.4.5
jupyterlab_pygments = 0.1.2
jupyterlab_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
救命啊!
3条答案
按热度按时间hec6srdp1#
您不应该安装Node.js或@jupyter-widgets/jupyterlab-manager用于JupyterLab 3.0+。扩展系统已经得到改进,新的“联邦扩展”系统不再需要Node.js(并且大多数扩展已经从Node.js需求迁移)。@jupyter-widgets/jupyterlab-manager的自述文件明确指出,对于JupyterLab 3.0+,您应该用途:
大多数扩展也是如此--如果它们迁移了,它们的自述文件中会有一个PyPI包的名称。如需更深入的解释,请阅读此答案。
作为一个好的建议,请只对尚未迁移到pip/conda可安装的联邦扩展的扩展使用
jupyter labextension install
。wgeznvg72#
将npmrc复制到/.npmrc而不是$HOME/. npmrc。
yzckvree3#
@krassowski这根本不正确。跑步
jupyter labextension install
得出以下结果:
(已弃用)使用jupyter labextension install命令安装扩展现在已弃用,并将在未来的JupyterLab主要版本中删除。
用户应该使用像pip和conda这样的包管理器来管理预构建的扩展,并且鼓励扩展作者将他们的扩展作为预构建的包分发