Se você estiver migrando de 1.* para 2.*, consulte MIGRATION.md
sh é um substituto completo do subprocesso para Python 3.8 - 3.11 e PyPy que permite chamar qualquer programa como se fosse uma função:
from sh import ifconfig
print ( ifconfig ( "eth0" ))
sh não é uma coleção de comandos de sistema implementados em Python.
sh depende de várias chamadas de sistema Unix e só funciona em sistemas operacionais do tipo Unix - Linux, macOS, BSDs etc. Especificamente, o Windows não é compatível.
Documentação completa aqui
$> pip instalar sh
Os testes são executados em um contêiner docker em todas as versões do Python suportadas. Para executar, faça o seguinte alvo:
$> fazer teste
Para executar um único teste:
$> make test='FunctionalTests.test_background' test_one
Primeiro execute todos os testes:
$> SH_TESTS_RUNNING=1 execução de cobertura --source=sh -m pytest
Isso agregará um .coverage
. Você pode então visualizar o relatório com:
$> relatório de cobertura
Ou gere arquivos HTML visuais com:
$> cobertura html
O que criará ./htmlcov/index.html
que você pode abrir em um navegador da web.