pypa/pipx

After interrupted reinstall-all, one package is gone

クローズ

#966 opened on 2023/04/09

 (2 件のコメント) (0 件のリアクション) (0 人の担当者)Python (592 件のフォーク)batch import
bughelp wanted

Repository metrics

Stars
 (12,934 個のスター)
PR merge metrics
 (平均マージ 4d 12h) (30d で 22 merged PRs)

説明

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

コントリビューターガイド