pypa/pipx

After interrupted reinstall-all, one package is gone

Open

#966 geöffnet am 9. Apr. 2023

Auf GitHub ansehen
 (2 Kommentare) (0 Reaktionen) (0 zugewiesene Personen)Python (363 Forks)batch import
bughelp wanted

Repository-Metriken

Stars
 (7.844 Stars)
PR-Merge-Metriken
 (Durchschn. Merge 5T 2h) (16 gemergte PRs in 30 T)

Beschreibung

Describe the bug

While troubleshooting #965, I ran reinstall-all several times, first without --verbose, then with --verbose, then a few times more until I was able to get a clean output of the behavior. During at least one of those runs, I interrupted the operation. I didn't take note of the operation that was in progress and assumed it was safe to terminate a pipx operation. I've since closed my terminal, so I no longer have a meaningful record of what transpired, but I can confirm that the tox executable is missing as is the virtualenv in ~/.local/pipx/venvs.

It's possible I had tox installed with nothing else, so it's straightforward to reinstall with pipx install tox, but I don't recall if I had other state configured in that environment (injected packages, ...).

How to reproduce

I haven't yet attempted to reproduce it. I'd like to get feedback about the expected behavior first.

Expected behavior

pipx operations should be interrupt-safe (rolled back if cancelled) or should warn the user (maybe even prompt) if an irreversible operation has taken place but its replacement has been cancelled. Such a message should include state that is otherwise lost (what packages were injected in that pipx env).

Contributor Guide