Praticando com Ambiente Virtual no Python
Objetivo: Criar e usar um ambiente virtual Python para gerenciar dependências de projetos.
Passo 1: O que é um ambiente virtual e por que usá-lo?
- Conceito: Um ambiente virtual é uma ferramenta que isola dependências específicas de um projeto Python.
- Por que usar?
- Evita conflitos entre dependências de diferentes projetos.
- Permite usar diferentes versões de pacotes simultaneamente.
Passo 2: Preparando o Ambiente
-
Certifique-se de que o Python está instalado.
-
No terminal, execute:
python --version -
Se não estiver instalado, baixe do site oficial python.org.
-
-
Instale o
venv, se necessário.-
Para usuários que não possuem o módulo instalado (especialmente em algumas distribuições Linux):
sudo apt install python3-venv
-
Passo 3: Criando um Ambiente Virtual
-
Escolha um local para seu projeto.
-
Por exemplo:
mkdir projeto_python cd projeto_python
-
-
Crie o ambiente virtual.
-
Com Python 3:
python3 -m venv env
-
-
Entenda o que aconteceu:
- Foi criada uma pasta chamada
env, que contém uma instalação independente do Python e suas ferramentas.
- Foi criada uma pasta chamada
Passo 4: Ativando o Ambiente Virtual
-
Ative o ambiente virtual:
-
No Windows:
env\Scripts\activate -
No macOS/Linux:
source env/bin/activate
-
-
Confirme que o ambiente está ativado:
- O prompt do terminal mudará, exibindo
(env)antes do diretório atual.
- O prompt do terminal mudará, exibindo
Passo 5: Instalando Dependências
-
Instale pacotes no ambiente virtual.
-
Exemplo: instalar o pacote
requests:pip install requests
-
-
Verifique os pacotes instalados:
pip list -
Salve as dependências do projeto:
-
Gere um arquivo
requirements.txt:pip freeze > requirements.txt
-
Exemplo de requirements.txt:
httpx
pandas
pytest
# Instalando pacotes com versões específicas
black == 0.6.1 # igual a 0.6.1
django >= 4.1.1 # maior que 4.1.1
flask != 3.5 # diferente de 3.5
selenium ~= 1.1 # maior ou igual a 1.1, menor que 2
# Instalando pacotes de outro arquivo
-r requiremens_dev.txtO arquivo constraints.txt é usado para instalar somente as versões específicas!
Passo 6: Desativando o Ambiente Virtual
-
Saia do ambiente virtual:
deactivate
Atividade Prática
- Crie um ambiente virtual e instale um pacote.
- Crie um pequeno script para testar o pacote instalado.
- Por exemplo:
-
Instale o
requests:pip install requests -
Crie um arquivo
teste.py:import requests response = requests.get('https://api.github.com') print(response.status_code) -
Execute o script:
python teste.py -
Desative o ambiente.
-
Exemplo Prático: Recuperando Texto de uma Página Web
Nesta atividade, utilizaremos o módulo requests para fazer requisições HTTP e o módulo BeautifulSoup da biblioteca bs4 para extrair texto de uma página web.
Passo 1: Instalar Dependências
Antes de começar, certifique-se de instalar as bibliotecas necessárias no ambiente virtual:
-
Ative seu ambiente virtual (veja os passos anteriores).
-
Instale os pacotes necessários:
pip install requests beautifulsoup4
Passo 2: Criar o Script
- Crie um arquivo Python chamado
extrai_texto.py. - Escreva o seguinte código:
import requests
from bs4 import BeautifulSoup
# URL da página web a ser analisada
url = "https://www.wikipedia.org/"
# Fazendo a requisição para a página
response = requests.get(url)
# Verificando se a requisição foi bem-sucedida
if response.status_code == 200:
# Parseando o conteúdo HTML da página
soup = BeautifulSoup(response.text, 'html.parser')
# Extraindo o texto principal
texto = soup.get_text()
# Exibindo as primeiras linhas do texto
print("Texto extraído da página:")
print(texto[:500]) # Exibe os primeiros 500 caracteres
else:
print(f"Erro ao acessar a página. Status code: {response.status_code}")Passo 3: Executar o Script
-
Certifique-se de estar no diretório do projeto.
-
Execute o script:
python extrai_texto.py
O Que Esse Código Faz?
-
requests.get(url):- Faz uma requisição HTTP GET para a URL fornecida.
- Retorna a resposta do servidor.
-
BeautifulSoup(response.text, 'html.parser'):- Analisa o conteúdo HTML retornado pela página.
-
soup.get_text():- Extrai todo o texto visível da página, ignorando as tags HTML.
-
print(texto[:500]):- Exibe os primeiros 500 caracteres do texto extraído, garantindo que a saída seja legível no terminal.
Exemplo de Saída
Ao executar o código acima para a página do Wikipedia, a saída será algo como:
Texto extraído da página:
Wikipedia
The Free Encyclopedia
English 1 000 000+ articles Español 500 000+ artículos ...
Desafio Extra
-
Filtrar o Texto Principal: Modifique o script para extrair apenas o texto de uma tag específica, como
<p>ou<h1>. Exemplo:# Extraindo apenas os títulos (tag h1) for titulo in soup.find_all('h1'): print(titulo.get_text()) -
Salvar o Texto em um Arquivo:
-
Adicione este trecho ao final do código para salvar o texto em um arquivo:
with open('texto_extraido.txt', 'w', encoding='utf-8') as arquivo: arquivo.write(texto) print("Texto salvo em 'texto_extraido.txt'.")
-
Essa prática introduz conceitos fundamentais de web scraping e manipulação de texto no Python! 🚀