-
Notifications
You must be signed in to change notification settings - Fork 28
Gracefully handle pip UnicodeDecodeError #122
Comments
Ugh. I'm not sure what to do about this; we certainly wouldn't want to swallow our own UnicodeDecodeErrors if we were to accidentally start throwing them. |
True, though I guess it wouldn't be silent per-se, we just would only show the original pip error rather than implying it was peep's fault. There is a small chance that people may then file issues against pip that are really peep's fault, but presumably our tests would catch those? |
One can't test for everything. :-)
|
@erikrose - not to pile on but adding to this issue incase more info helps. Here is the error message I'm getting - pretty much the same story you have already been notified of - peep: (3, 1, 1) |
Here's an idea: let's not show our little error-report form for PipExceptions. That way, anything that's pip's fault will bubble up, but we'll still get errors that happen from outside run_pip(). |
Actually, from my reading of the code, that's what should be happening already: main() should be catching the PipException and returning an int, which the toplevel should unceremoniously exit with as a status code. I'm not sure why it's not. |
Oh, I see now. run_pip() needs to wrap its call to pip.main() in a |
Also, we should exempt main()'s call to pip.main() from error trapping as well. |
Closing this out to de-clutter my GitHub open issues dashboard since peep is deprecated in favour of pip v8+. |
In #120 pip failed with a
UnicodeDecodeError
due to something unrelated to peep. However this resulted in the "Peep had a problem" message, which encourages users to file an issue against Peep.Now ideally pip shouldn't raise
UnicodeDecodeError
, but even if that's fixed in pip (either in the latest release or in the future), people will be using affected versions for a while.As such, we should probably do something similar to #118 but for
UnicodeDecodeError
.The text was updated successfully, but these errors were encountered: