rhythmic-morning-87313
11/29/2022, 11:48 PMpantsbuild-pants
in PyPI currently provides Python 3.7, 3.8, 3.9 wheels for the macosx/manylinux x86-64 platforms and 3.9 wheel for the macosx-arm64 platform.
The missing 3.7 and 3.8 macosx-arm64 wheels are causing problems when I use pants.backend.plugin_development
and pants_requirements()
with resolves_to_interpreter_constraints
option to split the lockfile for my own pants plugins under a mono-repo source tree:
• Developers in macosx-arm64 platforms: they face missing package errors when Pants selects Python 3.7 or 3.8 as the interpreter of the "pants-plugins" resolve. They figure out that the fix is to change the target interpreter range of "pants-plugins" in resolves_to_interpreter_constraints
setting to indicate 3.9 only.
• After applying this fix, developers in linux-x86_64, macosx-x86_64 faces another error saying interpreter range mismatch with the requirement when running ./pants generate-lockfiles
.
• As the result, I'm now telling developers in macosx-arm64 to remove all Python 3.7 and 3.8 versions from pyenv (as my pants.toml
is configured to look for Python interpreters only from pyenv-installed ones).
• This became problems when some developers want to use TensorFlow in macOS with Metal acceleration because the macOS TensorFlow package requires installation of Python 3.8.
I'm getting tired of describing all these backgrounds everytime when people ask.
Couldn't we just build and push the py37, py38 macosx-arm64 wheels of pantsbuild-pants
to PyPI so that all target platforms have the same Python interpreter compatibility range?
Also, it would make my life even easier if we have linux-aarch64 wheels as well, because for cases like above, I can just say that "use a arm64 Linux VM using UTM/QEMU/Parallels/VMWare/etc. for the best development exprerience with full speed" to Apple Silicon users.enough-analyst-54434
11/30/2022, 12:08 AMhappy-kitchen-89482
11/30/2022, 2:47 AMhappy-kitchen-89482
11/30/2022, 2:54 AMhappy-kitchen-89482
11/30/2022, 2:57 AMhappy-kitchen-89482
11/30/2022, 2:58 AMhappy-kitchen-89482
11/30/2022, 2:59 AMresolves_to_interpreter_constraints
) is actually the right thing to do, I believehappy-kitchen-89482
11/30/2022, 3:00 AM./pants generate-lockfiles
would give an interpreter mismatchhappy-kitchen-89482
11/30/2022, 3:00 AMpython_sources
to be 3.9
?rhythmic-morning-87313
12/03/2022, 4:02 PMpants-plugins
resolve to use Python 3.9.x only seems working as expected.happy-kitchen-89482
12/04/2022, 1:55 AM