Instalando ferramentas de linha de comando autônomas#

Muitos pacotes fornecem aplicações de linha de comando. Exemplos deste tipo de aplicação são mypy, flake8, black e Pipenv.

Normalmente você deseja acessar essas aplicações de qualquer lugar no sistema, mas instalar pacotes e suas dependências no mesmo ambiente global pode causar conflitos de versão e quebrar as dependências que o sistema operacional tem nos pacotes Python.

pipx resolve isso criando um ambiente virtual para cada pacote, enquanto também garante que suas aplicações sejam acessíveis através de um diretório que está em seu $PATH. Isso permite que cada pacote seja atualizado ou desinstalado sem causar conflitos com outros pacotes e permite que você execute a aplicações com segurança de qualquer lugar.

Nota

pipx só funciona com Python 3.6+.

pipx é instalado com pip:

python3 -m pip install --user pipx
python3 -m pipx ensurepath
py -m pip install --user pipx
py -m pipx ensurepath

Nota

ensurepath garante que o diretório de aplicação está em seu $PATH. Você pode precisar reiniciar seu terminal para que as atualizações de caminho tenham efeito.

Agora você pode instalar pacotes com pipx install e executar as aplicações do pacote de qualquer lugar.

$ pipx install PACKAGE
$ PACKAGE_APPLICATION [ARGS]

Por exemplo:

$ pipx install cowsay
  installed package cowsay 6.1, installed using Python 3.12.2
  These apps are now globally available
    - cowsay
done! ✨ 🌟 ✨
$ cowsay -t moo
  ___
< moo >
  ===
        \
         \
           ^__^
           (oo)\_______
           (__)\       )\/
               ||     ||
               ||----w |

Para ver uma lista de pacotes instalados com pipx e quais aplicações estão disponíveis, use pipx list:

$ pipx list
venvs are in /Users/user/Library/Application Support/pipx/venvs
apps are exposed on your $PATH at /Users/user/.local/bin
manual pages are exposed at /Users/user/.local/share/man
   package black 24.2.0, installed using Python 3.12.2
    - black
    - blackd
   package cowsay 6.1, installed using Python 3.12.2
    - cowsay
   package mypy 1.9.0, installed using Python 3.12.2
    - dmypy
    - mypy
    - mypyc
    - stubgen
    - stubtest
   package nox 2024.3.2, installed using Python 3.12.2
    - nox
    - tox-to-nox

Para atualizar ou desinstalar um pacote:

pipx upgrade PACKAGE
pipx uninstall PACKAGE

pipx pode ser atualizado ou desinstalado com pip:

python3 -m pip install --upgrade pipx
python3 -m pip uninstall pipx
py -m pip install --upgrade pipx
py -m pip uninstall pipx

pipx também permite que você instale e execute a versão mais recente de uma aplicação em um ambiente temporário e efêmero. Por exemplo:

pipx run cowsay -t moooo

Para ver a lista completa de comandos pipx oferece, execute:

pipx --help

Você pode aprender mais sobre pipx em https://pipx.pypa.io/.