pypa/pipx

After interrupted reinstall-all, one package is gone

Open

#966 ouverte le 9 avr. 2023

Voir sur GitHub
 (2 commentaires) (0 réactions) (0 assignés)Python (363 forks)batch import
bughelp wanted

Métriques du dépôt

Stars
 (7 844 stars)
Métriques de merge PR
 (Merge moyen 5j 2h) (16 PRs mergées en 30 j)

Description

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).

Guide contributeur