Python no Shell
Ambientes virtuais, uv, pipx, e execução de scripts Python no Linux - como operadores e desenvolvedores invocam Python sem quebrar pacotes do sistema.
Busque em todas as páginas da documentação
Ambientes virtuais, uv, pipx, e execução de scripts Python no Linux - como operadores e desenvolvedores invocam Python sem quebrar pacotes do sistema.
cd billing-api
uv sync
uv run pytest -q
uv run python -m billing.cli --help
pipx install ruffQuando usar isso:
#!/usr/bin/env bash
set -euo pipefail
cd /opt/billing-api
export PATH="$HOME/.local/bin:$PATH"
# Usuário de deploy usa ambiente travado
uv sync --frozen --no-dev
uv run alembic upgrade head
uv run python -m billing.worker --once
# Ferramenta global sem poluir o projeto
pipx ensurepath
pipx install 'httpie>=3.0'#!/usr/bin/env python3
"""Script Shebang - prefira uv run em produção."""
import sys
def main() -> int:
print("ok")
return 0
if __name__ == "__main__":
sys.exit(main())O que isso demonstra:
uv sync --frozen corresponde exatamente ao lockfile da CI-m module respeita as importações do pacotepipx isola ferramentas CLIbin/site-packages e links simbólicos do interpretador isolados.uv run usa automaticamente o venv do projeto.~/.local/bin.apt - não para dependências de aplicativos.| Padrão | Uso |
|---|---|
uv run pytest | Comandos vinculados ao projeto |
uv tool run ruff | Ferramenta efêmera sem instalação |
pipx run cowsay | CLI de uso único |
python -m http.server | Servidor rápido da stdlib (apenas dev) |
# Qual python estou usando?
uv run python -c "import sys; print(sys.executable)"
# Dependências de script PEP 723 (uv)
# /// script
# requires-python = ">=3.14"
# dependencies = ["httpx"]
# ///sudo pip install - Quebra o gerenciador de pacotes do sistema. Correção: use apenas venv, uv ou pipx.uv run no crontab.env python3 + versão documentada no README..venv não está no .gitignore - Commit acidental. Correção: gitignore + CI cria um venv novo.pipx upgrade-all trimestralmente.| Alternativa | Use Quando | Não Use Quando |
|---|---|---|
poetry run | Repositórios padronizados com Poetry | Equipe padronizada em uv |
conda | Pilha científica com dependências binárias | Contêineres API enxutos |
docker run | Paridade exata de produção no laptop | Loop rápido de edição-teste |
pyenv | Múltiplas versões do Python localmente | Contêiner fixa uma única versão |
Este cookbook fixa uv 0.6+ - use uv sync e uv.lock a menos que o ADR da organização diga o contrário.
~/.local/pipx/venvs com shims em ~/.local/bin - garanta que o PATH esteja no perfil do shell.
ExecStart=/opt/billing-api/.venv/bin/uvicorn app.main:app ou um script wrapper uv run.
Debian/Ubuntu bloqueiam o pip do sistema - use venv do uv, esperado em distribuições modernas.
uv run script.py com metadados de dependência inline (PEP 723).
uv sync com pacote local editável em pyproject.toml - veja a documentação de environments-packaging.
Diretórios /opt/<app> separados, cada um com seu próprio .venv - nunca compartilhe site-packages.
Use uv python install 3.14 ou o PPA deadsnakes oficial, de acordo com a política da organização.
Redirecione para o logger: ... 2>&1 | logger -t billing-worker.
pipx inject package dependency==x.y quando a ferramenta precisar de um plugin.
Versões das Pilhas: Esta página foi escrita para Python 3.14.0 (estável 3.14, manutenção 3.13), FastAPI 0.115+, Django 5.2, Flask 3.1, Pydantic 2, PyTorch 2.6+, pandas 2.2+, Polars 1.x, ruff 0.9+, e uv 0.6+.
Revisado por Chris St. John·Última atualização: 16 de jul. de 2026