Closed SnoopJ closed 1 year ago
Thanks @SnoopJ - I will get this addressed asap. Excellent issue report, by the way.
I didn't look too hard at setup.py
but I think if you "just" re-raise the exception it should fix the issue.
That is, assuming there isn't a reason not to do that :sweat_smile:
Verified that this is fixed, version 0.5.0 is up on pypi now.
NOTE: I am filing this issue on behalf of a user who asked for help with this bug in #python on the Libera.chat IRC network
When installing
pysqlite3
with apip
that will invokesetup.py
directly (i.e. in an environment that does not providewheel
), the exception handler insetup.py
will swallow any exception that occurs during a failed build, and the installation will succeed in error, leaving the user scratching their head wondering why the "successful" installation is not functional.Worse yet, even when the build failure is reported, the reason for the failure is not reported.
Reproduction
An easy way to reproduce this issue is to try to install
pysqlite3
in an environment that does not have the necessary headers. Here's a sequence that reproduces the issue in a freshubuntu:20.04
Docker image:Note that this output does indicate
Failed to build pysqlite3
and issues a warning that no files were created, but it fails to error.If we run the install with
pip
's verbosity turned up, we get more information about what went wrong (in this case, we don't havePython.h
)