setup.py: handle more corner cases for pg_config #1600
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
--cppflags
and--ldflags
output. Fixes Build fails with emptypg_config --cppflags
output #1599.I took this opportunity to simplify a bit using
subprocess.run()
, since it looks like the minimum Python version is now 3.6.Originally I planned to set
run(..., encoding='ascii')
, but I realized that standard error messages coming back are not guaranteed to be in ASCII. So I switched to UTF-8 decoding (strict for stdout, lax for stderr), which should also handle more unusual installation paths. If that's too much change for a single bugfix, I can revert to ASCII-only.