Enviar um café pro programador

Mostrando postagens com marcador Google Colab. Mostrar todas as postagens
Mostrando postagens com marcador Google Colab. Mostrar todas as postagens

Como usar o Jupyter Notebook e o Spyder IDE

 Neste tutorial de nossa seção de Programação Científica e Data Science, vamos aprender como abrir e usar nossos ambientes de programação, o Jupyter Notebook e o Spyder IDE.

O foco inicial é conhecer e nos ambientar com eles, para nos tutoriais seguintes, começarmos de fato a programar em Python com foco científico.

Lembrando, esses são apenas duas sugestões para você trabalhar (na apostila, fizemos uma terceira sugestão bem interessante), ou seja, você pode usar o ambiente que desejar (porém, terá que fazer algumas configurações).

Como usar o Spyder para programação numérica com Python

Jupyter - A magia dos notebooks

Você já traduziu 'notebook'? Embora venha a mente o seu computador portátil, um notebook na verdade é um caderno de anotações, ou simplesmente caderno. Ou seja, um lugar onde você pode escrever, desenhar, rabiscar, rasurar, fazer coisas importantes ou não...

E isso é a base do Jupyter: ele usa o conceito de notebook, onde vamos poder, no mesmo local e documento, colocar texto, imagens, vídeos, código HTML, código de programação e o mais legal: rodar nossos códigos. E em diversas linguagens: Python, Julia, R, ...

  • Como abrir o Jupyter e criar um Notebook

Então vamos lá, abra o Jupyter. Veja que ele vai abrir, na verdade, uma página no seu navegador web, no endereço http://localhost:8888/tree

Clique em:

  • File -> New -> Notebook:

Curso de Python com Jupyter Notebook

Um novo notebook, em branco, vai ser criado. Ele vai ter o nome Untitled ou Untitled1.
Clique nesse nome, e renomeie seu projeto para Projeto01:
Como criar um projeto no Jupyter

Veja que a extensão dos notebooks é ipynb (vem de IPython Notebook), são formatos do tipo JSON.
Lembrando que o código de um notebook não é um código puro em Python, pois teremos mais coisas em nossos notebooks.

Porém, é possível sim exportar a parte de programaçao para um script puro de Python ou de outra linguagem que você tenha usado: 
  • File -> New -> Save and Export Notebook As... -> Executable Script

Note que, ao criar seu notebook, já existe uma primeira célula em branco criada:
Editar célula no Jupyter Notebook

Clique dentro, no espaço em branco. E depois no seguinte menu, logo acima:
Modos de edição nas células do Jupyter Notebook

Existem três modos de se editar e usar uma célula no Jupyter:
  1. Code: são células que irão receber um código-fonte de programação, no nosso caso, em Python
  2. Markdown: uma espécie de modo texto mais 'chique', onde você pode colocar letras maiores, menores, alterar cor, negrito, itálico, inserir um código HTML (com imagem, gif, vídeo etc), etc
  3. Raw: significa cru em inglês, uma célula sem nenhum tipo de formatação específica

  • Como usar células no modo Markdown
Selecione Markdown, e insira o texto abaixo dentro da célula:
----------------------------------------------------------------------
# Projeto 01
## Como usar o Jupyter notebook
Neste *notebook*, vamos aprender a editar células de um notebook.
Por exemplo: < br >
_texto itálico_ < br >
~texto riscado~ < br >

Agora vamos aprender como inserir um link. < br >
Basta fazer o seguinte padrão: [Texto a ser exibido do link](url do link) < br >
Por exemplo:

[Curso Python Progressivo](www.pythonprogressivo.net)

1. Vamos fazer uma lista?
2. Acima foi o primeiro elemento, este é o segundo
3. E, por fim, este é o terceiro

* Podemos também criar outros tipos de listas
* Como essas
* Que não são enumeradas, basta usar o asterisco


Já para inserir uma imagem, basta usar a tag < img > do HTML: < br >
< img src="https://www.python.org/static/img/python-logo.png" >

Também é possivel fazer tabelas (utilizaremos bastante no Pandas, em data science):
| A | B | C |
|---|---|---|
| 1 | 2 | 3 |
| 4 | 5 | 6 |


Obviamente, também podemos criar e exibir belíssimas fórmulas do Latex:
Inline:$$E = mc^2$$

Na célula abaixo, vamos usar o código: < br >
`print("Curso de Programação Científica com Python")`
----------------------------------------------------------------------

Agora aperte ctrol+Enter ou aperte o símbolo de Play, para o Jupyter 'rodar' o que você escreveu. Ele vai interpretar o seu riquíssimo texto (richtext).
Quando usou um #, você está no nível 1 de cabeçalho.
Se usar dois ##, vai estar no nível 2 de cabeçalho e assim por diante.

Palavras entre * * ficarão em negrito, entre _ _ em itálico e entre ~ ~ ficarão com um risco.
O comando < br > é do HTML, e gera uma quebra de linha. Se preferir, basta dar enter e deixar uma linha em branco para a quebra ou duas para um parágrafo em branco.

Também é possível criar links dentro de seus notebooks, e também mostramos duas maneiras de criar listas no Jupyter.

Depois inserimos a imagem do logo do site oficial do Python, usando mais uma tag do HTML e em seguida mostramos um exemplo de tabela.

Se está fazendo seu TCC, teses e artigos científicos, vai gostar de saber que também é possível inserir código LaTeX direto no seu notebook.

Além de ser possível escrever e ter um código formatado, mesmo dentro do modo Markdown, basta colocar o código entre ` ` (crase)

  • Como usar células no modo Code

Veja que, mesmo no modo texto, foi preciso o Jupyter 'interpretar' seu código, pois inserimos diversos tipos de informação. E dá pra ir bem mais longe nisso, como por exemplo caso você aprenda HTML (Curso HTML Progressivo)

Mas, pouco se usa o modo Markdown apenas, ele é muito bom para deixar seu notebook mais rico e explicativo, o cerne de tudo vai ser, obviamente, a programação! A computação!

Após rodar a célula anterior, você viu que outra célula, abaixo da primeira, foi criada.
Vá lá, e digite:
print("Curso de Programação Científica com Python")

Selecione o modo Code e rode (alt+enter ou no play). Veja que apareceu o resultado abaixo do código, ainda na mesma célula.  Você digitou o código no In[] da célula e o resultado saiu na linha Out[].

  • Mais maneiras de utilizar o Jupyter
Em nossa apostila e livro Programação Científica com Python, vamos um poucos mais além e mostramos mais algumas utilidades do Jupyter.

Por exemplo, podemos usar ele como um terminal de comandos, para dar instruções diretas em Python, assim como faríamos em nosso computador.

E que tal enviar seu notebook para seus alunos ou colegas? Ou então exportar ele para um belíssimo documento HTML e exibir no seu site? Ou um documento PDF formal e bem padronizado. Tudo isso é possível com o Jupyter.

Também é possível criar e plotar belíssimos gráficos, como Gaussianas, Poisson, histogramas etc. Pode importar um txt com dados, exportar seu resultado para arquivos em seu computador ou mesmo na sua nuvem. Você pode usar a ferramenta que indicamos na apostila e integrar ela diretamente com sua conta Google, e por aí vai.

Muitas vezes, temos algum problema para resolver e não sabemos nem que ferramenta usar ou sequer por onde começar. Saber do que o Jupyter é capaz de fazer e facilitar, é de vital importância para não perdermos tempo em nossos estudos, trabalhos e pesquisas.

Vantagens do Spyder IDE para programação científica

Um Jupyter salva muito. Principalmente se você trabalha em casa, na empresa, na faculdade, dá aulas em locais diferentes...se usar a terceira ferramenta indicada, você vai ter tudo online, na nuvem, onde quer que esteja.

Porém, ainda indico muito ter um programa mesmo, um software, que rode no seu computador, para programar.

Se você for fazer coisas 'pesadas', como muitos cálculos e simulações, aí que vai ser indicado mesmo usar um programa para rodar seus códigos. E para programação científica usando Python, temos uma ferramenta ideal, a IDE Spyder.

Veja algumas das vantagens do Spyder para programar em Python:
  • Editor de textos (que mostra erros, cores diferentes para cada coisa)
  • Janela com os dados das variáveis e o que elas armazenam
  • Explorador de arquivos
  • Guia com o resultado da execução do código
  • Debugging
  • Histórico de comandos

E ele é flexível: você pode ir exibindo ou escondendo os painéis e ferramentas que te forem úteis, como uma janelinha para ir mostrando os gráficos que você vai plotando a medida que programa.

Aqui vale um adendo: se não é programador e nunca teve experiência com programação, não precisa ter medo de uma IDE, ao final do curso você será um programador também. E dos bons. E dos raros, pois vai saber usar programação com ciência, que é algo bem escasso, tanto no mercado como na academia.

Como usar o Spyder IDE

Vamos lá, abra seu Spyder. Ele já vai abrir no editor de texto.
Cole o seguinte código (que gera os números da sequência de Fibonacci):

n = int(input("Que termo deseja encontrar: ")) ultimo=1 penultimo=1 if (n==1) or (n==2): print("1") else: for count in range(2,n): termo = ultimo + penultimo penultimo = ultimo ultimo = termo count += 1 print(termo)

Agora, salve seu arquivo, não esqueça da extensão .py, eu usei Fibo.py
Depois de salvo, aperte F5 ou o botão de 'play', para rodar seu código. Nesse momento, o Python vai começar a interpretar seu código.

Note que tem um painel com o nome "Console", e vai aparecer o texto "Que termo deseja encontrar: " e o script está esperando você digitar um valor. Digite 10, para acharmos o décimo termo da sequência de Fibonacci:
Computação numérica e Data Science com Python


No painel de cima, ele mostra toda as variáveis que usamos no script, seus tipos de dados e valores.
É tudo bem simples e intuitivo.

Em nosso livro, por exemplo, mostramos como exibir a integral da função x³, de -1 até 1:

Como fazer cálculo integral no Spyder

E que tal plotar uma bela de uma Gaussiana?
Como plotar gráficos no Spyder

Também é bem simples, e está na apostila.
Veja que ali na lateral ficam salvas as imagens, tanto dos gráficos gaussianos, como das integrais que calculamos antes.

Bem poderosos, essas ferramentas do Jupyter e Spyder, não é mesmo?
Calma que você ainda não viu nada.

Como criar um ambiente para Programação Científica e Data Science

 Neste tutorial, de nossa seção de Programação Científica e Numérica com Python, vamos aprender a criar, configurar e usar um ambiente voltado para programação científica.

Você vai aprender o que instalar e como usar as ferramentas mais indicadas, Jupyter Notebook e Spyder, para dar início aos seus estudos de computação numérica e data science com a linguagem Python.

Ao final do artigo, vamos te dar uma dica extra, de uma ferramenta que promete ser a melhor, mais fácil e mais completa de se usar.


Onde programar em Python ?

No decorrer de nosso curso Python Progressivo, fizemos nossos códigos e rodamos em um programinha simples, chamado IDLE, que já vem junto quando fazemos o download do Python.

Ele é, basicamente, um editor de textos (como seu bloco de notas), onde escrevíamos o código e depois clicávamos em um botão para executar o código (ao fazer isso, o IDLE 'dava' um comando no terminal, para o Python interpretar e executar seu código).

Aqui em computação científica e ciência de dados, vale lembrar,  é programação do mesmo jeito.

Quer criar jogos? É programação normal.
Quer desenvolver software? Precisa saber a mesmíssima programação.
Vai criar gráficos, resolver equações e simular coisas complexas, de ambiente acadêmico? Adivinha só, é a mesmíssima programação, mesmos comandos e mesma lógica usada para programar qualquer outra coisa.

Ou seja, o ambiente para nossa programação científica em Python, pode ser qualquer um, inclusive o que você vinha usando ao longo de nosso curso.

Programação científica com Python

Não importa sua área, hobbie ou propósito, é a mesma lógica de programação. Recomendamos, fortemente, fazer o curso completo de Python.

Ambientes para programação científica

Como existem muitas pessoas, principalmente do ambiente científico, que usam Python somente para esse propósito, foram surgindo ambientes mais específicos para essa área da computação numérica, bem diferente daqueles que os programadores comuns usam.

Ou seja, temos IDEs (Integrated Development Enviroment - ambiente de desenvolvimento integrado)  voltadas para esses assuntos, como o de data science.

Basicamente são 'sistemas' ou ambientes que já tem 'tudo' o que você vai precisar. Não é necessário abrir o terminal de comando para fazer coisas complexas, nem fuçar muito em seu sistema operacional ou nada disso. O foco aqui é única e exclusivamente se preocupar com a ciência, a parte de computação e da informática deve ser a mais simples possível.

Quem está estudando Física ou trabalhando com engenharia, por exemplo, não tem tempo pra gastar dando comandos no sistema, fazendo configurações em vários programas, baixando milhões de coisas ou nada disso, quer simplesmente trabalhar na sua área diretamente.

Aliás, se desejar, nem precisa baixar, instalar ou configurar nada. Ao final do artigo, vamos te orientar como usar uma ferramenta bem poderosa que te permite programar e fazer tudo de maneira online e gratuita.

Agora, vamos conhecer algumas ferramentas para se unir a programação e outras ciências, de um modo geral.


Jupyter Notebook - A sala de aula da ciência

O primeiro que vamos te apresentar, é o Jupyter Notebook. Ele é simplesmente perfeito, totalmente indicado, voltado e desenvolvido para propósito científico, principalmente se você vai precisar se 'comunicar' com outras pessoas.

Ele é muitíssimo utilizado para dar aulas e trabalhar em grupo, com vários estudantes e cientistas, ao mesmo tempo, pois é bem flexível.

De cara, você vai se deparar com o conceito de notebook, que é um 'local' onde você pode misturar código, a saída do código (como um gráfico), com texto e imagens, tudo dividido em células.

É tudo baseado em células, que lembram muito o Excel. Você abre uma célula e digita, por exemplo, um texto explicando a fórmula que vai usar:

Jupyter Notebook para programação científica

Depois, escreve os comandos em linguagem Python, com as fórmulas que explicou previamente. Insere os dados, e o Jupyter mostra o resultado:

Jupyter Notebook

Na outra célula, colocamos o texto explicando um pouco sobre Cinemática e duas fórmulas. Você pode colocar imagens que estão na internet, vídeos, Gifs, códigos HTML, usar LaTeX e estilizar como desejar o seu texto.

Em seguida, na outra célula, colocamos um código Python com as informações e fórmulas contidas no texto anterior. Depois, simplesmente executamos o código, e os resultados apareceram na célula seguinte.

O bacana é que você pode executar somente aquela célula, só aquele trecho do seu notebook. E até mesmo colocar naquela célula uma imagem de visualização, do resultado do que você fez, por exemplo.

Isso é muito útil para trabalhar com outras pessoas, ou produzir trabalhos mais completos e interativos, pois você vai 'explicando' e mostrando passo-a-passo o que você está fazendo em seu trabalho.

É realmente muito interessante, poderoso e versátil usar o Jupyter no esquema notebook, para o desenvolvimento de algum projeto. Inclusive pra compartilhar com colegas, orientador/orientandos.


Como instalar o Jupyter

É possível usar ele tanto em sua máquina, como diretamente pela internet, através do site do projeto Jupyter.

Como instalar o Jupyter Notebook no Windows


Sugiro que dê preferência para rodar direto na sua máquina, e não diretamente do site deles, ok? É mais rápido. Embora vá rodar no seu navegador da mesma maneira, ele vai rodar como um servidor em sua máquina, podendo ser usado offline e não vai precisar 'esperar' resultados do site do Jupyter.

Tanto no Windows como no Linux, sugiro instalar o Jupyter Notebook através do PIP, que é um sistema de gerenciamento de pacotes e bibliotecas, do Python. Você vai usar ele no decorrer do curso, para instalar novas funcionalidades científicas, a medida que for precisando delas, como bibliotecas para computação numérica, como o Numpy.

Primeiro, NO WINDOWS, instale o PIP abrindo o terminal de comando e digitando:

  • python -m pip install --upgrade pip


Aguarde ele atualizar seus sistema, e em seguida digite:

  • python -m pip install jupyter


Se o comando acima não funcionar, tente somente:

  • pip install notebook


No Linux, faça o mesmo. Primeiro garanta que instalou o PIP:

  • sudo apt install python3-pip


Depois instale o Jupyter Notebook:

  • pip3 install notebook

ou

  • pip3 install jupyter

ou

  • python3-pip install notebook

ou

  • sudo apt install jupyter-notebook


Como instalar a IDE Spyder

Eu, particularmente, prefiro trabalhar com 'programas', executáveis mesmo, de abrir o programinha mesmo, aos moldes antigos. Mas é questão de preferência, os professores, por exemplo, amam a maneira 'notebook' de se trabalhar do Jupyter.

Agora vamos instalar nosso ambiente de programação em nossa máquina, o poderoso Spyder, que foi feito em Python, por cientistas e engenheiros, para ser usado com Python, para cientistas e engenheiros (além de analistas e entusiastas). Vamos lá.

Como instalar a IDE Spyder no Linux
"Spyder, o ambiente de desenvolvimento científico em Python"

Acesse:


Clique em Download, e confira se foi direto para seu sistema operacional.

Ele vai pedir seu e-mail para continuar o download.


Se não quiser fornecer nenhum dado, acesse diretamente:


No Linux, vai baixar o arquivo o arquivo shell, de extensão .sh

Para instalar a partir desse script, abra o terminal e vá até o local que você fez o download, e rode esse arquivo:

  • bash Anaconda3-2024.02-1-Linux-x86_64.sh


Ou instale o Spyder via pip:

  • pip install spyder


Quando quiser atualizar:

  • pip install --upgrade spyder

Se já usou Matlab/R ou Mathematica, vai se sentir bem confortável com o Spyder.

É bem fácil e intuitivo de usar, além de ser bem leve e facilmente integrável com outras ferramentas que vão aparecer em seu caminho.


Outros ambientes de programação científica

Se você já souber programar em Python ou surgir interesse em se aprofundar em programação, sugerimos fortemente que você instale alguma IDE em sua máquina.

Indicamos o Jupyter e o Spyder, você vai ter tudo 'na mão', já instalado, configurado e pronto para usar na sua máquina, são ambientes já voltados para ciência e dados.

Como dissemos, no curso de programação puro, usamos o IDLE. Muitas pessoas gostam do PyCharm e do VSCode. É perfeitamente possível focar em Data Science com eles, mas vai precisar configurar bastante coisa.

Se preferir usar outra ferramenta para programar, não se preocupe, ao longo da seção, a medida que formos usando novas bibliotecas e pacotes, vamos ensinando também como instalá-las.

O importante aqui é: isso tudo, de ambiente de programação, é algo mais como uma preferência pessoal. Ao longo de sua carreira, vai se deparar com pessoas usando as mais diferentes ferramentas de programação possíveis.

Eventualmente, uma ou outra coisa vai 'sair de moda', outras vão surgir e assim a vida segue.

O importante é aprender bem a parte de lógica de programação (que vamos enfatizar bem), pois assim você se tornará um profissional que se adapta facilmente a qualquer ambiente que vá ser necessário usar, pois na graduação sua turma vai usar uma coisa, no mestrado seus colegas vão usar outra, no doutorado seu orientador vai te pedir pra programar em outra IDE e linguagem, se for pra uma empresa, eles terão seu próprio ambiente, e por ai vai.

Seja curioso e adaptável.

Sugestão: use mais de um ambiente de programação. Vá fuçando, teste os códigos em um, depois em outro, veja as diferenças, vá 'sentindo' como as coisas são.

Lá na frente, você vai entender melhor o motivo disso e nos agradecer (não esqueça da gente quando virar bilionário ou ganhar seu Nobel ;)

Agora, no próximo tutorial, vamos entrar em detalhes sobre como usar o Jupyter e o Spyder. Mas, antes, uma dica valiosa.

Dica extra: ambiente moderno e completo

Na apostila Python Progressivo, falamos em um novo ambiente de desenvolvimento científico usando Python, um bem completo, online, gratuito, que dá suporte tanto ao modelo notebook como ao uso de várias linguagem de programação, em tempo real, e ele se conecta e integra ao seus perfis, e-mail e rede sociais profissionais, para compartilhar seus projetos ou trabalhar em grupo.