Como resolvi o pesadelo multiplataforma do PyTorch

2025-09-11

Criar um projeto Python multiplataforma que dependa do PyTorch é notoriamente difícil. Ao desenvolver o FileChat, um assistente de codificação de IA, o autor enfrentou esse desafio. O gerenciamento de dependências padrão perde índices personalizados ao criar pacotes wheel de distribuição, exigindo configuração manual do usuário. Aproveitando o PEP 508, o autor especificou URLs de wheel para cada dependência juntamente com restrições de versão do Python, permitindo a instalação com um único comando. Windows e macOS usam o PyTorch padrão, enquanto o Linux oferece wheels separadas para hardware CPU, XPU e CUDA. Os usuários selecionam o grupo de dependências opcionais apropriado durante a instalação (por exemplo, `pip install filechat[xpu]`). Manter as URLs do wheel é mais simples do que gerenciar índices personalizados, embora exija mais trabalho antecipado.

Desenvolvimento