pypa/pipx

After interrupted reinstall-all, one package is gone

已關閉

#966 建立於 2023年4月9日

 (2 則留言) (0 個反應) (0 位負責人)Python (590 個分叉)batch import
bughelp wanted

倉庫指標

星標
 (12,945 顆星)
PR 合併指標
 (PR 指標待抓取)

描述

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

貢獻者指南