Add support for user-specified hermetic Python py_binary #139
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.
We are using pybind11_bazel and a hermetic Python interpreter in our system. When running
refresh_compile_commands
, we often get this error:This is because
refresh_compile_commands.bzl
is usingnative.py_binary
, which defaults to the user's system interpreter, which may or may not be the same version as the hermetic interpreter we're using alongside pybind.This PR adds an optional argument to
refresh_compile_commands()
, namedpy_binary_rule
, which defaults tonative.py_binary
. The user can override it and run the main script with whichever Python version they want, which fixes the above pybind errors.