Módulos, Pacotes e pip
Aula 7 de 10
Módulos
# meu_modulo.py
def soma(a, b):
return a + b
PI = 3.14159
# main.py — importar
import meu_modulo
print(meu_modulo.soma(3, 4))
from meu_modulo import soma, PI
print(soma(3, 4))
from meu_modulo import soma as somar
Pacotes
meu_app/
├── __init__.py # torna pasta um pacote
├── core/
│ ├── __init__.py
│ ├── auth.py
│ └── database.py
└── utils/
├── __init__.py
└── validators.py
# Importação absoluta
from meu_app.core.auth import login
from meu_app.utils.validators import validar_email
# Importação relativa (dentro do pacote)
from .database import conectar
from ..core.auth import login
pip — Gerenciamento de Dependências
# Comandos essenciais
pip install requests # instalar
pip install requests==2.28.0 # versão específica
pip install requests>=2.28 # faixa de versão
pip list # pacotes instalados
pip show requests # informações
pip uninstall requests
pip freeze > requirements.txt # exportar dependências
pip install -r requirements.txt # instalar de arquivo
# Ambientes virtuais
python -m venv venv
venv\Scripts\activate # Windows
source venv/bin/activate # Linux
deactivate
Bibliotecas Essenciais
# requests — HTTP
import requests
resp = requests.get("https://api.github.com")
print(resp.status_code)
print(resp.json())
# datetime
from datetime import datetime, timedelta
agora = datetime.now()
ontem = agora - timedelta(days=1)
print(agora.strftime("%d/%m/%Y %H:%M"))
# re — expressões regulares
import re
pattern = r"\d{3}-\d{4}"
if re.match(pattern, "123-4567"):
print("válido")
# os e sys
import os
import sys
print(os.getcwd())
print(sys.argv) # argumentos da linha de comando
name e Entry Points
# main.py
def main():
print("Programa principal")
if __name__ == "__main__":
main()
# Agora pode ser executado diretamente ou importado
Ambientes virtuais isolam dependências de cada projeto. Sempre use um venv por projeto. pip freeze gera requirements.txt para reprodução.