Escrito por

~~ retired but not tired ~~
Artigo Robert Cemper · Maio 12, 2023 2m read

um Jupyter-Notebook vergine

Seguindo um pacote do último concurso, encontrei um problema estranho.
Havia o requisito para instalar o jupyter-notebook.
Eu trabalho no Windows e havia algum Python antigo instalado.
Nenhuma grande surpresa: a instalação do jupyter-notebook falhou
Portanto, a versão mais recente do Python foi instalada rapidamente.

Grande decepção: a instalação do jupyter-notebook falhou novamente!
Porque a nova instalação do Python não atualizou a antiga.
E também a variável de ambiente PATH não foi limpa
Isso não ficou óbvio imediatamente e exigiu muito tempo e esforço.

Seguiram-se vários ciclos de instalação e desinstalação.
Depois de muita intervenção manual nas configurações do Windows,
Finalmente permitiu que o Jupyter-Notebook fosse iniciado.
Embora não estivesse disposto a operar no ambiente virtual (venv).

Este foi o ponto em que eu tinha apenas o suficiente.
Eu disse a mim mesmo: "O que você faz aqui é um absurdo!"
Depois de limpar meu espaço de trabalho e os rastros de todas as
instalações com falha (vários GB), adotei uma abordagem diferente.

  • Minha ideia era usar minha instalação do Docker que funciona bem.
  • Encontre um contêiner simples com o Jupyter-Notebook instalado
  • Preencha-o com todos os módulos Python necessários
  • Vincule seu diretório local ao contêiner. Portanto, uma cópia no contêiner não é necessária.
  • Para não esquecer o mapeamento para a porta padrão 8888

O contêiner do Docker foi construído e executado em tempo zero
em comparação com todas as minhas tentativas anteriores.
Foi composto por estes 2 arquivos:

Dockerfile

ARG IMAGE=jupyter/base-notebook
FROM $IMAGE
USER root
COPY ./requirements.txt /tmp/requirements.txt
RUN pip3 install -r /tmp/requirements.txt

Se você não tiver requisitos, apenas descomente as 2 últimas linhas.
docker-compose.yaml

version:'3.9'services:  notebook:    build:      context:.      dockerfile:Dockerfile    entrypoint:jupyternotebook                --allow-root                --no-browser                --ip0.0.0.0                --port8888                --NotebookApp.token=''                --NotebookApp.password=''                --notebook-dir=/ext    ports:    -8888:8888    volumes:    -./:/ext

E agora, depois de iniciar o contêiner, seu Jupyter-Notebook está pronto para acesso.

http://localhost:8888/
Isso foi definitivamente mais fácil do que minhas tentativas anteriores.
Eu senti isso como um sucesso pessoal,
pois este era um território totalmente novo para mim.