kb.erickguedes.com
Python: De Noob a Hero

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.