Python sdist
install error messages are _terrible_ #2063
Description
Bug Report
Steps to Reproduce:
- Build perspective from sdist (or source) on a clean ubuntu LTS box
- Experience profound sadness :(
Expected Result:
A human-actionable error message. Ubuntu is missing dozens of libraries and tools at build time - if we're going to pretend the sdist
is a viable target, we need to treat it as a piece of software that humans will use and (in this case) validate that dependencies exist before calling setup()
. An informal survey leads me to believe that despite our wheel coverage, a sizable percentage of users get the sdist install from pip, and we get at least a bug report/month about this pain point.
I'm not sure whether it is possible to force verbosity when installed via pip
, but this would be nice as well. Sans this, the docs need to be updated to help users make progress when the sdist
install fails (e.g. where to look for verbose error logs and what common errors mean).
Actual Result:
File "/usr/lib/python3.10/posixpath.py", line 152, in dirname
p = os.fspath(p)
TypeError: expected str, bytes or os.PathLike object, not NoneType
Environment:
Ubuntu 20.04 in this case, but this is a general and cross-platform issue with the python build.