I am building pex for the following platforms ``` ...
# general
n
I am building pex for the following platforms
Copy code
platforms=[
        'linux_x86_64-cp-38-cp38',
        'linux-aarch64-cp-38-cp38',
    ],
I am seeing error in arm64 U24 hosts where python version is
python3.12
,
Copy code
Examined the following interpreters:
 1.) /usr/bin/python3.12 CPython==3.12.3
 No interpreter compatible with the requested constraints was found:
   A distribution for pyyaml could not be resolved for /usr/bin/python3.12.
   Found 2 distributions for pyyaml that do not apply:
   1.) The wheel tags for PyYAML 6.0.1 are cp38-cp38-manylinux2014_aarch64, cp38-cp38-manylinux_2_17_a>
   cp312-cp312-manylinux_2_39_x86_64
   ... 1067 more ...
   2.) The wheel tags for PyYAML 6.0.1
I have created wheels for the above platform and modified the platform section as following
Copy code
platforms=[
        'linux_x86_64-cp-38-cp38',
        'linux-aarch64-cp-38-cp38',
        'linux-aarch64-cp-312-cp312',
    ],
But it is not working. I think the platform I am specifying for python3.12 is not correct. Please let me know what will be the correct platfor for
arm64
and
python 3.12
.
c
platforms
is deprecated in preference to
complete_platforms
which ought to have less sharp edges https://github.com/pantsbuild/pants/issues/19978
w
i actually saw exactly this same issue re:
PyYAML
using
complete_platforms
i thought it was just that no wheel was available for aarch64 on 3.12
n
I found that the platform values will be
Copy code
'linux_x86_64-cp-312-cp312',
        'linux-aarch64-cp-312-cp312',
I built the wheels for target platforms and integrated with pantsbuild.
In
pants.toml
we need to add the following config
Copy code
[python-repos]
# No one needs to change these values, as long as they can use the same shared location.
find_links = ["file://%(buildroot)s/wheelhouse"]
path_mappings = ["WHEELS_DIR|%(buildroot)s/wheelhouse"]
We need to copy the wheel files in
wheelhouse
directory.