You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Right now you can only restrict interpreters used via interpreter constraints that at most can narrow to a fully specified python implementation (say CPython) and version (sat 3.6.8). You may have more that one interpreter matching that on the PATH and which one to select may be a material difference. Real world cases include when you have two CPythin interpreters, both at the same version, but one built for UCS2 and one for UCS4. You may care which to pick and Pants doesn't allow you to do this today. PEX supports PEX_PYTHON and PEX_PYTHON_PATH to point to specific paths which could solve this problem if you know where the right interpreters are located on all machines. It, along with pants, also supports platform constraints. Unfortunately, the platform constraints aren't currently used to select interpreters correctly, just to resolve wheels correctly(ish): pex-tool/pex#658
Pants should support:
interpreter constraints
limited paths
specific platforms
PEX nominally supports all three with only 3 being buggy today.
Pants only supoorts 1 today.
The text was updated successfully, but these errors were encountered:
Noting that the real world cases for support items 2 and 3 are wider. We've had many users - twitter (hacks with pexrc slipped in under pants which causes its own pain) and foursquare notably, but others as well - complain about the lack of control here. Most of these use cases would have been solved by 1st level support for PEX_PYTHON_PATH for example (corporate controlled environments). Our own CI controlled environment would benefit from PEX_PYTHON or a singleton PEX_PYTHON_PATH as well for the ucs2/4 example.
We now have first-level support for PEX_PYTHON_PATH via [python-setup].interpreter_search_paths, which gets converted to --python-path and PEX_PYTHON_PATH.
Right now you can only restrict interpreters used via interpreter constraints that at most can narrow to a fully specified python implementation (say CPython) and version (sat 3.6.8). You may have more that one interpreter matching that on the PATH and which one to select may be a material difference. Real world cases include when you have two CPythin interpreters, both at the same version, but one built for UCS2 and one for UCS4. You may care which to pick and Pants doesn't allow you to do this today. PEX supports PEX_PYTHON and PEX_PYTHON_PATH to point to specific paths which could solve this problem if you know where the right interpreters are located on all machines. It, along with pants, also supports platform constraints. Unfortunately, the platform constraints aren't currently used to select interpreters correctly, just to resolve wheels correctly(ish): pex-tool/pex#658
Pants should support:
PEX nominally supports all three with only 3 being buggy today.
Pants only supoorts 1 today.
The text was updated successfully, but these errors were encountered: