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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm a little worried about the implicit lack of interpreter setup with this proposed change - seems to me you'd either have to do that manually or call
interpreter_from_options
anyway.so.. why not just pass
options.python
inbuild_pex(options, ...)
with a fully qualified path to the preferred interpreter to achieve the same behavior?this would provide interpreter setup for ~free and works in today's API.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The short answer is that I wasn't able to get that to work and I'm unsure why. :) I'm far from a pex or even python expert and the previous author of the code in question did a lot of setup work to properly initialize the interpreter. See https://github.com/twitter/heron/blob/master/3rdparty/pex/_pex.py#L135-L152
I would love to remove as much of that code as possible and simplify the integration, but I wasn't able to do so and have the build work both locally (darwin) and on CI (centos). I spent a few days trying to rip parts of that code out but was met with multiple failures that were had to diagnose. Passing the interpreter was the only way I could get the build to work.
If you're curious you can reproduce the heron build by running the command below. Or if you're up for pairing a bit on this I can revisit and we can figure out where the friction is. Or maybe it's just an easy fix that I was overlooking.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
apologies - this fell off my radar due to EOQ activity, but circling back now.
where might I find the
heron
command referenced in your comment above?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ah, assuming you meant
bazel
, I seem to get a failure just trying to get to an initial baseline run:fwiw, I did run the
bazel_configure.py
script beforehand. any ideas?