gray-shoe-19951
12/13/2022, 3:56 PM./pants --version
Failed to find compatible interpreter on path /Users/266409531:/Users/266409531/Dev/apache-maven-3.8.5/bin:/opt/miniconda3/envs/brain_toy/bin:/opt/miniconda3/condabin:/Users/266409531:/Users/266409531/Dev/apache-maven-3.8.5/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin.
Examined the following interpreters:
1.) /opt/miniconda3/envs/brain_toy/bin/python3.9 CPython==3.9.13
2.) /Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/bin/python3.8 CPython==3.8.9
No interpreter compatible with the requested constraints was found:
A distribution for pantsbuild-pants could not be resolved for /opt/miniconda3/envs/brain_toy/bin/python3.9.
Found 6 distributions for pantsbuild-pants that do not apply:
1.) The wheel tags for pantsbuild.pants 2.14.0+gitfae1f69f are cp37-cp37m-macosx_10_16_x86_64 which do not match the supported tags of /opt/miniconda3/envs/brain_toy/bin/python3.9:
cp39-cp39-macosx_12_0_arm64
... 367 more ...
2.) The wheel tags for pantsbuild.pants 2.14.0+gitfae1f69f are cp37-cp37m-manylinux2014_x86_64 which do not match the supported tags of /opt/miniconda3/envs/brain_toy/bin/python3.9:
cp39-cp39-macosx_12_0_arm64
... 367 more ...
3.) The wheel tags for pantsbuild.pants 2.14.0+gitfae1f69f are cp38-cp38-macosx_11_0_x86_64 which do not match the supported tags of /opt/miniconda3/envs/brain_toy/bin/python3.9:
cp39-cp39-macosx_12_0_arm64
... 367 more ...
4.) The wheel tags for pantsbuild.pants 2.14.0+gitfae1f69f are cp38-cp38-manylinux2014_x86_64 which do not match the supported tags of /opt/miniconda3/envs/brain_toy/bin/python3.9:
cp39-cp39-macosx_12_0_arm64
... 367 more ...
5.) The wheel tags for pantsbuild.pants 2.14.0+gitfae1f69f are cp39-cp39-macosx_10_16_x86_64 which do not match the supported tags of /opt/miniconda3/envs/brain_toy/bin/python3.9:
cp39-cp39-macosx_12_0_arm64
... 367 more ...
6.) The wheel tags for pantsbuild.pants 2.14.0+gitfae1f69f are cp39-cp39-manylinux2014_x86_64 which do not match the supported tags of /opt/miniconda3/envs/brain_toy/bin/python3.9:
cp39-cp39-macosx_12_0_arm64
... 367 more ...
enough-analyst-54434
12/13/2022, 4:01 PM/opt/miniconda3/envs/brain_toy/bin/python3.9
that will help diagnose further.gray-shoe-19951
12/13/2022, 4:02 PMenough-analyst-54434
12/13/2022, 4:08 PM/opt/miniconda3/envs/brain_toy/bin/python3.9 -mvenv platform_tags.venv
platform_tags.venv/bin/pip -q install pex
platform_tags.venv/bin/pex3 interpreter inspect --python /opt/miniconda3/envs/brain_toy/bin/python3.9 --tags -i2 2>/dev/null | head -25
{
"path": "/opt/miniconda3/envs/brain_toy/bin/python3.9",
"compatible_tags": [
"cp39-cp39-macosx_12_0_arm64",
...
Those 3 commands. The output of the final one is what we're after. In particular the tag "cp39-cp39-macosx_11_0_arm64" needs to be in that list for the released wheel to be selected.happy-kitchen-89482
12/13/2022, 4:17 PMgray-shoe-19951
12/13/2022, 4:35 PM{
"path": "/opt/miniconda3/envs/brain_toy/bin/python3.9",
"compatible_tags": [
"cp39-cp39-macosx_12_0_arm64",
"cp39-cp39-macosx_12_0_universal2",
"cp39-cp39-macosx_11_0_arm64",
"cp39-cp39-macosx_11_0_universal2",
"cp39-cp39-macosx_10_16_universal2",
"cp39-cp39-macosx_10_15_universal2",
"cp39-cp39-macosx_10_14_universal2",
"cp39-cp39-macosx_10_13_universal2",
"cp39-cp39-macosx_10_12_universal2",
"cp39-cp39-macosx_10_11_universal2",
"cp39-cp39-macosx_10_10_universal2",
"cp39-cp39-macosx_10_9_universal2",
"cp39-cp39-macosx_10_8_universal2",
"cp39-cp39-macosx_10_7_universal2",
"cp39-cp39-macosx_10_6_universal2",
"cp39-cp39-macosx_10_5_universal2",
"cp39-cp39-macosx_10_4_universal2",
"cp39-abi3-macosx_12_0_arm64",
"cp39-abi3-macosx_12_0_universal2",
"cp39-abi3-macosx_11_0_arm64",
"cp39-abi3-macosx_11_0_universal2",
"cp39-abi3-macosx_10_16_universal2",
enough-analyst-54434
12/13/2022, 4:37 PM/opt/miniconda3/envs/brain_toy/bin/python3.9 --markers -i2
and provide the full output?gray-shoe-19951
12/13/2022, 4:39 PMenough-analyst-54434
12/13/2022, 4:41 PMgray-shoe-19951
12/13/2022, 4:43 PMrefined-addition-53644
12/13/2022, 4:44 PMgray-shoe-19951
12/13/2022, 4:46 PMenough-analyst-54434
12/13/2022, 4:47 PM$ platform_tags.venv/bin/pex3 interpreter inspect --python python3.9 --markers -i2
{
"path": "/home/jsirois/.pyenv/versions/3.9.14/bin/python3.9",
"marker_environment": {
"implementation_name": "cpython",
"implementation_version": "3.9.14",
"os_name": "posix",
"platform_machine": "x86_64",
"platform_python_implementation": "CPython",
"platform_release": "5.15.79.1-microsoft-standard-WSL2",
"platform_system": "Linux",
"platform_version": "#1 SMP Wed Nov 23 01:01:46 UTC 2022",
"python_full_version": "3.9.14",
"python_version": "3.9",
"sys_platform": "linux"
}
}
platform_tags.venv/bin/pex3 -V
- the Pex version that go installed. It should be latest / 2.1.118.gray-shoe-19951
12/13/2022, 4:53 PM{
"path": "/opt/miniconda3/envs/brain_toy/bin/python3.9",
"marker_environment": {
"implementation_name": "cpython",
"implementation_version": "3.9.13",
"os_name": "posix",
"platform_machine": "arm64",
"platform_python_implementation": "CPython",
"platform_release": "21.5.0",
"platform_system": "Darwin",
"platform_version": "Darwin Kernel Version 21.5.0: Tue Apr 26 21:08:37 PDT 2022; root:xnu-8020.121.3~4/RELEASE_ARM64_T6000",
"python_full_version": "3.9.13",
"python_version": "3.9",
"sys_platform": "darwin"
}
}
enough-analyst-54434
12/13/2022, 4:54 PMgray-shoe-19951
12/13/2022, 4:54 PMplatform_tags.venv/bin/pex3 -V
2.1.118
enough-analyst-54434
12/13/2022, 5:36 PMhappy-kitchen-89482
12/13/2022, 6:01 PMgray-shoe-19951
12/28/2022, 7:08 PMcurved-television-6568
02/13/2023, 8:31 PMgray-shoe-19951
02/13/2023, 8:32 PMcurved-television-6568
02/13/2023, 8:35 PMgray-shoe-19951
02/13/2023, 9:18 PMhappy-kitchen-89482
02/13/2023, 9:39 PMget-pants.sh
)gray-shoe-19951
02/14/2023, 12:11 AMenough-analyst-54434
02/14/2023, 7:22 PMscie-pants
(just like ./pants
) only works by installing Pants releases from PyPI. I remember your case @gray-shoe-19951, you use the released multi-platform mega-pants.pex
since that allows you to download one thing and then bring that 1 thing inside your org. A few questions:
1. If scie-pants
supported downloading pants.pex
instead of installing the pantsbuild.pants
distribution - would you be hosting pnats.pex
in an internal service or do you check pants.pex
into the repo today and so you'd want scie-pants
to just call /scie-pants/hermetic/python3.9 ./pants.pex
?
2. The scie-pants
binary dynamicall downloads a hermetic CPython 3.9 to use appropriate to the current platform. These come from the Python Build Standalone project but can be re-directed as described here under "Partial support for firewalls". Does that suffice? In other words can you download the ones you need and host them internally and set up that PANTS_BOOTSTRAP_URLS
env var described in the README?