Introdução ao JupyterLab
Visão Geral
Perguntas
Como eu posso rodar programas Python?
Objetivos
Ativar o servidor do JupyterLab.
Criar um novo script Python.
Criar um Jupyter notebook.
Desligar o servidor JupyterLab.
Entender a diferença entre um script Python e um Jupyter notebook.
Criar células Markdown em um notebook.
Criar e executar células Python em um notebook.
Existem várias vantagens de se usar o Jupyter:
- Você pode facilmente digitar, editar, ou copiar e colar blocos de código.
- Compleção com TAB permite que você facilmente acesse o nome de coisas que você está usando.
- Você pode anotar seu código com links, textos de diferentes formatos, bullet points, etc.
- Você pode exibir figuras do lado do código que as produz e contar uma história completa da análise.
Cada notebook contém uma ou mais células que contém códigos, texto, ou imagens.
Introdução ao JupyterLab
JupyterLab é uma aplicação web do Projeto Jupyter que permite trabalhar com documentos e atividades como Jupyter Notebooks, editores de texto, terminais, e até componentes personalizados de uma forma flexível e integrada. O JupyterLab requer um navegador atualizado (idealmente uma versão do Chrome, Safari, ou Firefox); Internet Explorer da versão 9 e anteriores não são suportados.
O JupyterLab é incluído na distribuição Anaconda do Python.
Apesar do JupyterLab ser uma aplicação web, ele roda localmente em sua máquina e não requer uma conexão a internet.
- O servidor JupyterLab manda mensagens para o seu navegador.
- O servidor JupyterLab faz o trabalho e o navegador renderiza o resultado.
- Você vai codar no navegador e ver o resultado quando a página web se comunicar com o servidor JupyterLab.
JupyterLab? E Jupyter Notebooks?
JupyterLab é o próximo estágio na evolução do Jupyter notebook. Se você tem experiência prévia com notebooks Jupyter, então você vai ter uma boa ideia do que esperar do JupyterLab.
Iniciando o JupyterLab
Você pode iniciar o servidor JupyterLab através da linha de comando ou através de uma aplicação chamada
Anaconda Navigator. O Anaconda Navigator é incluído na distribuição Anaconda do Python.
Windows - Linha de Comando
Para ativar o servidor JupyterLab você vai precisar acessar o Anaconda Prompt.
Aperte Windows-Key e pesquisa por Anaconda Prompt, clique no resultado e aperte Enter.
Depois de ter acessado o Anaconda Prompt, digite o seguinte comando:
$ jupyter lab
Anaconda Navigator
Para ativar o servidor Jupyter do Anaconda Navigator, primeiro, abra o Anaconda Navigator (clique para instruções detalhadas). Você pode pesquisar pelo Anaconda Navigator pela função pesquisar do Windows (Windows-Key) ou pelo Spotlight do MacOS. Depois de ter ativado o Anaconda Navigator, procure pelo JupyterLab e clique em Launch.
Uma tab assim deve abrir no seu navegador:
A interface JupyterLab
A interface JupyterLab consiste de uma barra de menu, uma barra lateral colapsável, e a área de trabalho principal que contém documentos e atividades.
Barra de Menu
A Barra de Menu no topo do JupyterLab tem os menus top-level que expõe as diferentes ações disponíveis no JupyterLab junto dos seus atalhos no teclado. Os seguintes menus são incluídos por padrão.
- File: Ações relacionadas a arquivos como New, Open, Close, Save, etc. O menu File também inclui a ação Shut Down que é usada para desativar o servidor JupyterLab.
- Edit: Ações relacionadas a editar documentos, tais como Undo, Cut, Copy, Paste, etc.
- View: Ações que alteram a aparência do JupyterLab.
- Run: Ações para executar código em diferentes atividades como notebooks e consoles de código (discutidos abaixo).
- Kernel: Ações para gerenciar kernels. Kernels no Jupyter serão explicados com mais detalhes abaixo.
- Tabs: Uma lista de documentos e atividades abertos na área principal.
- Settings: Configurações comuns do Jupyter podem ser modificadas nesse menu. Ele também contém a opção Advanced Settings Editor no menu dropdown que provê um controle mais fino das opções do JupyterLab.
- Help: Uma lista de links de ajuda para o JupyterLab e o kernel.
Kernels
A documentação do JupyterLab define kernels como “processos separados iniciados pelo servidor que roda o seu código em diferentes linguagens de programação e ambientes.” Quando abrimos um Jupyter Notebook, abrimos um kernel - um processo - que vai rodar o código. Nessa aula, vamos usar o kernel IPython do Jupyter, que permite rodar código Python 3 interativamente.
Usar outros kernels Jupyter para outras linguagens de programação nos permitiria escrever e executar código de outras linguagens de programação na mesma interface do JupyterLab, como R, Java, Julia, Ruby, JavaScript, Fortran, etc.
Abaixo um screenshot da Barra de Menu:
Barra Lateral
A barra lateral que fica à esquerda contém um número de abas comumente usadas, como um navegador de arquivos (que mostra o conteúdo do diretório aonde o servidor JupyterLab foi iniciado), uma lista dos kernels e terminais em execução, a paleta de comandos, e uma lista de abas abertas na área de trabalho principal.
A barra lateral pode ser colapsada ou expandida selecionando “Show Left Sidebar” no Menu View ou clicando na aba ativa da barra lateral.
Área de Trabalho Principal
A área de trabalho principal do JupyterLab permite que você arranje documentos (notebooks, arquivos de texto, etc.) e outras atividades (terminais, consoles de código, etc.) em paineis de abas que podem ter o tamanho ajustado ou ser subdivididas. Abaixo um screenshot da barra de menu.
Arraste um tab do centro do painel de abas para mover a aba para o painel. Subdivida um painel de abas arrastando a aba para a esquerda, direita, topo, ou base do painel. A área de trabalho tem uma única atividade no momento. A aba para a atividade corrente é marcada como uma borda colorida no topo (azul por padrão).
Criando um script Python
- Para começar a escrever um novo programa Python, clique no ícone de Arquivo de Texto embaixo do cabeçalho Other na aba Launcher da área de trabalho principal.
- Você também pode criar um novo arquivo de texto plano ao selecionar New -> Text File do menu File na Barra de Menu.
- Para converter esse arquivo de texto plano em um programa Pytohn, selecione a ação Salvar Arquivo Como do menu File na Barra de Menu e dê ao seu novo arquivo de texto um nome que termine com a extensão
.py.- A extensão
.pypermite que todos (incluindo o sistema operacional) saibam que esse arquivo de texto é um programa Python. - Isso é uma convenção, e não um requerimento.
- A extensão
Criando um Notebook Jupyter
Para criar um novo notebook, clique no ícone do Python 3 embaixo do cabeçalho Notebook na aba Launcher na área de trabalho principal. Você também pode criar um novo notebook ao selecionar New -> Notebook do menu File na Barra de Menu.
Notas adicionais sobre notebooks Jupyter:
- Arquivos de Notebook tem a extensão
.ipynbpara que os distingue de programas de Python em texto plano. - Notebooks podem ser exportados como scripts Python que podem ser executados da linha de comando.
Abaixo está um screenshot de um Jupyter Notebook rodando dentro do JupyterLab. Se você está interessado em mais detalhes, veja a documentação oficial dos notebooks
Como É Armazenado
- O arquivo do notebook é armazenado em um formato chamado JSON.
- Assim como a página web, o que é salvo é diferente do que vemos no navegador.
- Esse formato permite que o Jupyter possa misturar código, texto, e imagens, tudo em um único arquivo.
Arranjando Documentos em Paineis de Abas
Na área de trabalho principal do JupyterLab você pode arranjar documentos em paineis de abas. Aqui está um exemplo da documentação oficial.
![]()
Primeiro, crie um arquivo de texto, console Python, e janela do terminal e os arranje em três paineis diferentes na área de trabalho principal. Em seguida, crie um notebook, uma janela do terminal, e um arquivo de texto e os arranje em três painéis na área de trabalho principal. Por último, crie sua própria combinação de paineis e abas. Que combinação de paineis e abas você acha que será a mais útil para o seu workflow?
Solução
Depois de criar as abas necessárias, você pode arrastar uma delas no centro de um painel para mover a aba para o painel; em seguida você pode subdividir um painel de abas ao arrastar a aba para a esquerda, direita, topo, ou base do painel.
Código vs. Texto
O Jupyter mistura código e texto em diferentes tipos de blocos, chamados células. Nós frequentemente usamos o termo “código” para se referir ao “código fonte do software escrito em uma linguagem como Python”. Uma “célula de código” em um notebook é uma célula que contém software; a “célula de texto” é uma que contém prosa escrita para seres humanos.
Modos de Comando e de Edição
- Se você apertar Esc e Enter alternadamente, a borda exterior da sua célula de código vai mudar de cinza para azul.
- Esses são os modos de Comando (cinza) e Edição (azul) do seu notebook.
- O modo de comando permite que você editar features a nível de notebook, e o modo edição muda o conteúdo das células.
- Quando no modo de Comando (Esc/Cinza),
- A tecla b vai criar uma nova célula abaixo da célula atual.
- A tecla a vai criar uma acima.
- A tecla x vai deletar a célula atual.
- A tecla z vai desfazer a sua última operação (que pode ser uma deleção, criação, etc.).
- Todas as ações podem ser feitas usando os menus, mas existem vários atalhos no teclado que podem acelerar.
Comando vs. Edição
O Jupyter Notebook atual você está no modo Comando ou Edição? Troque entre os modos. Use os atalhos para criar uma nova célula. Use os atalhos para deletar uma célula. Use os atalhos para desfazer a última operação que você fez.
Solução
O modo de Comando tem uma borda cinza e o de Edição tem uma borda azul. Use Esc e Enter para alternar entre os modos. Você precisa estar no modo de Comando (Aperte Esc se a sua célula estiver azul). Aperte b ou a. Você precisa estar no modo de Comando (Aperte Esc se a sua célula estiver azul). Aperte x. Você precisa estar no modo de Comando (Aperte Esc se a sua célula estiver azul). Aperte z.
Use o teclado e o mouse para alternar entre as células.
- Apertar o Enter transforma a borda azul e ativa o modo de Edição, que permite que você digite dentro da célula.
- Por que queremos ser capazes de escrever muitas linhsa de código em uma única célula, apertar o Enter quando no modo de Edição (azul) move o cursor para a próxima linha da célula assim como qualquer outro editor de texto.
- Precisamos de alguma outra forma de dizer para o Notebook que queremos executar o que está dentro da célula.
- Apertar Shift+Enter juntos vai executar o conteúdo da célula.
O Notebook vai formatar o Markdown para deixar tudo bonito
- Notebooks também podem renderizar Markdown.
- Um formato simples de texto plano para escrever listas, links, e outras coisas que poderiam estar em uma página web.
- De forma equivalente, é um subset de HTML que parece que você está enviando um email “das antigas”.
- Transforme a célula atual em Markdown ao entrar no modo de Comando (Esc) e aperte a tecla M (de Markdown).
In [ ]:vai disparecer para mostrar que não é mais uma célula de código.- Transforme a célula atual em Código ao entrar no modo de Comando (Esc) e aperte a tecla Y.
Markdown faz quase tudo que HTML faz
* Use asteriscos
* para criar
* listas bullet.
- Use asteriscos
- para criar
- listas bullet.
1. Use números
1. para criar
1. listas numeradas.
- Use números
- para criar
- listas numeradas.
* Você aninhar itens
* Para criar sublistas
* de mesmo tipo
* Ou sublistas
1. De tipos
1. diferentes
- Você aninhar itens
- Para criar sublistas
- de mesmo tipo
- Ou sublistas
- De tipos
- diferentes
# Cabeçalho Nível 1
Cabeçalho Nível 1
## Cabeçalho Nível 2 (etc.)
Cabeçalho Nível 2 (etc.)
Novas linhas
não importam.
Mas linhas em branco
criam novos parágrafos.
Novas linhas não importam.
Mas linhas em branco criam novos parágrafos.
[Crie links](https://thexlab.com.br/) com `[...](...)`.
Ou use [links com nome][XLab].
[XLab]: https://thexlab.com.br/
Crie links com [...](...).
Ou use links com nome.
Crie listas em Markdown
Crie uma lista aninhada em uma célula de Markdown em um notebook que pareça com isso:
- Planejar projeto.
- Fazer o trabalho.
- Coletar os dados.
- Analisar.
- Gerar figuras.
- Escrever relatório.
- Submeter.
Solução
Esse desafio integra uma lista numerada e uma lista bullet. Note que a lista bullet é indentada com 2 espaços para que esteja alinhada com os itens da lista numerada.
1. Planejar projeto. 2. Fazer o trabalho. * Coletar os dados. * Analisar. * Gerar figuras. 3. Escrever relatório. 4. Submeter.
Mais Matemática
O que aparece quando uma célula Python de um notebook que contém várias operações é executada? Por exemplo, o que acontece quando essa célula é executada?
7 * 3 2 + 1Solução
O Python retorna a saída da última operação.
3
Mude uma Célula Existente de Código para Markdown
O que acontece se você escreve um pouco de Python em uma célula de código e depois você troca para uma célula Markdown? Por exemplo, coloque o seguinte em uma célula de código:
x = 6 * 7 + 12 print(x)Execute com Shift+Enter para ter certeza que funciona como uma célula de código. Agora volte para célula e use Esc depois M para mudar a célula para Markdown e “execute” como Shift+Enter. O que aconteceu e como isso pode ser útil?
Solução
O código Python é tratado como texto Markdown. As linhas aparecem como se fossem parte de um parágrafo contíguo. Isso pode ser útil para temporariamente ligar e desligar células em notebooks que são usados para múltiplos propósitos.
x = 6 * 7 + 12 print(x)
Equações
Markdown Standard (como o que estamos usando para as notas) não vão renderizar equações, mas o Notebook vai. Cria uma nova célula Markdown e escreva o seguinte:
$\sum_{i=1}^{N} 2^{-i} \approx 1$(Talvez seja mais fácil copiar e colar.) O que isso mostra? O que você acha que o underline,
_, acento circumflexo,^, e cifrão,$, fazem?Solução
O Notebook mostra a equação como ela seria renderizada na sintaxe de LaTeX. O cifrão,
$, é usado para dizer ao Markdown que o texto ali dentro é uma equação LaTeX. No LaTeX, o underline,_, é usado para subscript e o circumflexo,^, é usado para superscript. Um par de chaves,{e}, é usado para agrupar texto para que a declaraçãoi=1se torne subscript eNse torne superscript. Similarmente,-identro de chaves é utilizado para fazer a declaração toda um superscript para2.\sume\approxsão comandos LaTeX para os símbolos de “somatório” e “aproximadamente”.
Fechando o JupyterLab
- Da Barra de Menu, selecione o menu
Filee escolhaShut Downna base do menu dropdown. Você vai ter que confirmar que quer fechar o servidor JupyterLab (não esqueça de salvar seu trabalho!). Clique em “Shut Down” para fechar o servidor. - Para reiniciar o servidor JupyterLab você vai precisar re-executar o seguinte comando de um terminal (como o Anaconda Prompt) ou usar o Anaconda Navigator.
$ jupyter lab
Fechando o JupyterLab
Pratique fechar e reiniciar o JupyterLab.
Pontos-chave
Scripts Python são arquivos de texto plano.
Usar o Jupyter Notebook para escrever e executar código Python.
O Notebook tem modos de comando e edição.
Use o teclado e o mouse para selecionar e editar células.
O Notebook vai formatar o Markdown para deixar tudo bonito.
Markdown faz quase tudo que HTML faz.