Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PEX fails to pass a custom interpreter down to PEXEnvironments it _activates #522

Closed
jsirois opened this issue Jul 13, 2018 · 1 comment
Closed
Assignees
Labels

Comments

@jsirois
Copy link
Member

jsirois commented Jul 13, 2018

2 spots:
https://github.com/pantsbuild/pex/blob/master/pex/pex.py#L73
https://github.com/pantsbuild/pex/blob/master/pex/pex.py#L83

The fallout can be incorrect selection of valid platform tags here: https://github.com/pantsbuild/pex/blob/master/pex/environment.py#L127-L129

@jsirois
Copy link
Member Author

jsirois commented Jul 13, 2018

Found in pantsbuild/pants#6104

jsirois added a commit to pantsbuild/pants that referenced this issue Jul 13, 2018
Previously the platform passed for 'current' was partial, leading to
ambiguous resolves. Further, partial platforms in user's BUILD files
also would lead to ambiguous resolves. For example, a multi-platform
`python_binary` with something like
`platforms=['current', 'linux-x86_64', 'macosx_10.11_x86_64']`.

Expand and and then fixup platforms as required by replacing
`get_local_platform` with `expand_and_maybe_adjust_platform`.

Also perform a few `build_local_python_distributions` fixes.
+ Fix an unused `interpreter` parameter - forward to `SetupPyRunner`.
+ Kill declaring `--universal` on behalf of the package author. There
  is not enough info to make the decision if the code being dist'd, if
  pure python, is 2/3 compatible.

To compensate for the removal of `--universal`, give an example of how
to declare your python_dist as `--universal` when you know it is as the
BUILD `python_dist` target author.

Finally two subsidary workarounds:
+ hack around PEX not forwarding custom interpreters to PEXEnvironment.
+ Avoid the troublesome Apple 2.7.10 python for now.

Hacks are tracked by umbrella #5922, but for this PR they are:
+ pex-tool/pex#511
+ pex-tool/pex#522
+ pex-tool/pex#523
@jsirois jsirois self-assigned this Jul 27, 2018
jsirois added a commit to jsirois/pex that referenced this issue Jul 27, 2018
Previously, if a PEX had a custom interpreter, it was not threaded
through to the environments it activated. Add a test that the
designated interpreter is used.

Fixes pex-tool#522
jsirois added a commit to jsirois/pex that referenced this issue Jul 27, 2018
Previously, if a PEX had a custom interpreter, it was not threaded
through to the environments it activated. Add a test that the
designated interpreter is used.

Fixes pex-tool#522
@jsirois jsirois mentioned this issue Jul 27, 2018
jsirois added a commit to jsirois/pex that referenced this issue Jul 27, 2018
Previously, if a PEX had a custom interpreter, it was not threaded
through to the environments it activated. Add a test that the
designated interpreter is used.

Fixes pex-tool#522
jsirois added a commit to jsirois/pex that referenced this issue Jul 28, 2018
Previously, if a PEX had a custom interpreter, it was not threaded
through to the environments it activated. Add a test that the
designated interpreter is used.

Fixes pex-tool#522
jsirois added a commit that referenced this issue Jul 28, 2018
Previously, if a PEX had a custom interpreter, it was not threaded
through to the environments it activated. Add a test that the
designated interpreter is used.

Fixes #522
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant