[英]How to install packages in Jupyter Notebook running in Docker Container
我尝试在 Windows 10 上设置 PySpark。经过各种挑战后,我决定改用 Docker Image,效果很好。
hello world脚本正在运行。 但是,我无法在由 Docker 提供支持的 Jupyter 上安装任何软件包。 请指教。
通常,我可以在 Anaconda 终端上使用以下代码:
问题:
The following command must be run outside the IPython shell:
$ pip install fastavro
我找不到如何安装 INSIDE docker。 请指教。
资源:
在 Jupyter cell/IPython shell 中,您可以运行:
!pip install PACKAGENAME
安装软件包。 注意“!” 字首。
当有多个环境时,使用该环境中使用的系统执行器(Python)。
import sys
!{sys.executable} -m pip install PACKAGENAME
保存更新的容器是合理的,因此您不需要每次都安装这些包。 一种方法是建立自己的形象。 假设您想使用 jupyter docker stack中的jupyter/datascience-notebook
映像。 首先,您需要创建文件Dockerfile
(无扩展名)。 该文件应包含以下说明:
# Start from a core stack version
FROM jupyter/datascience-notebook:6b49f3337709
# Install in the default python3 environment
RUN pip install --quiet --no-cache-dir 'flake8==3.9.2' && \
fix-permissions "${CONDA_DIR}" && \
fix-permissions "/home/${NB_USER}"
您可以使用 conda 或 mamba 代替 pip:
# install a package into the default (python 3.x) environment and cleanup after
# the installation
mamba install --quiet --yes some-package && \
mamba clean --all -f -y && \
fix-permissions "${CONDA_DIR}" && \
fix-permissions "/home/${NB_USER}"
conda install --quiet --yes some-package && \
conda clean --all -f -y && \
fix-permissions "${CONDA_DIR}" && \
fix-permissions "/home/${NB_USER}"
然后您需要使用新创建的 Dockerfile 进入目录并运行:
$ docker image build --tag jupyter/base-notebook:my_version .
其中--tag
是具有以下结构的图像的名称repository name:tag name
。 并且不要忘记单点.
(Dockerfile 的路径)最后!
当 docker 完成构建镜像后,您可以使用docker image ls
在 docker 镜像列表中找到它:
REPOSITORY TAG IMAGE ID CREATED SIZE
jupyter/base-notebook my_version 3cf0f4683b46 11 minutes ago 1.12GB
现在您可以将新创建的映像与已安装的软件包一起使用:
$ docker run -p 8888:8888 jupyter/base-notebook:my_version
保存修改后的图像的另一种方法是使用docker commit
命令。 您可以直接在 jupyter notebook 中安装所需的软件包,然后使用以下命令保存更改:
$ docker commit CONTAINER_ID jupyter/base-notebook:my_version
您可以使用列出正在运行的容器的docker ps
命令找到CONTAINER_ID
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.