Make InterpreterOptions configuration option a list
#259
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 are problems associated with
InterpreterOptionsbeing a string, chiefly that it isn't safe to assume where individual Python interpreter command line arguments begin and end simply by splitting the string on space characters. This isn't so much of a concern while the value ofInterpreterOptionsis just appended to the main .pex shebang in please_pex, but it'll become more of a concern when we instead rely on a native-code .pex preamble to invoke the interpreter because we'll be passing arguments variadically toexecvp(3).Make
InterpreterOptionsa repeatable configuration option and pass each value to please_pex as a separate--interpreter_optionscommand line option (which itself also becomes repeatable). This isn't a breaking change because the values passed via--interpreter_optionsare for now ultimately just being stringified via a space-delimited join and appended to the .pex shebang, but the distinction will become meaningful when we implement a native-code .pex preamble.