pypa/pipx

pipx list - show injected apps

Open

#997 建立於 2023年6月2日

在 GitHub 查看
 (5 留言) (2 反應) (0 負責人)Python (7,844 star) (363 fork)batch import
enhancementhelp wanted

描述

Currently, pipx list shows only the main scripts (.exe's) executable from an installed venv:

   package flit 3.9.0, installed using Python 3.9.5
    - flit.exe

When injecting a package and including its apps:

pipx inject flit keyring --include-apps

pipx will happily report that this app is now globally available,

These apps are now globally available
    - keyring.exe

but nevertheless not show it when running pipx list, which still shows exactly the output above. AFAIK there is no way to discover the availability of keyring.exe after that.

There is pipx list --include-injected, but this will only list the included packages, not the apps / scripts they might bring along:

 package flit 3.9.0, installed using Python 3.9.5
    - flit.exe
    Injected Packages:
      - keyring 23.13.1

It would be nice if pipx list could somehow list all of them in one command, for example:

> pipx list
 package flit 3.9.0, installed using Python 3.9.5
    - flit.exe
    - keyring.exe (injected)

or like this

> pipx list --include-injected
 package flit 3.9.0, installed using Python 3.9.5
    - flit.exe
    Injected Packages:
      - keyring 23.13.1
          - keyring.exe

All the functionality is there to make injected apps available globally, which can make sense if they are dependencies of a root package anyway and therefore already installed in its venv. But at the moment it's hard for the user to discover and make use of them, even though they were explicitly made available with pipx inject.

貢獻者指南

pipx list - show injected apps · pypa/pipx#997 | Good First Issue