pantsbuild / pants

The Pants Build System
https://www.pantsbuild.org
Apache License 2.0
3.26k stars 625 forks source link

Could we leverage python-environment-tools? #21180

Open sureshjoshi opened 1 month ago

sureshjoshi commented 1 month ago

I've noticed that sometimes finding the appropriate python on my system can take 0.5-1s per run (not sure why, I'm basing this off the logs I see while running).

Around the same time, I saw a note in VSCode about this: https://github.com/microsoft/python-environment-tools

I have done approximately zero research into this on pants, but I wanted to create a ticket before I forgot about this entirely.

🤷🏽

Alternatives:

My preference would be to setup PBS downloads and use those directly, and keep the system out of the equation as much as possible.

cburroughs commented 1 month ago

I've also noticed that finding the interpreter 'feels slow'. Speculation: I wonder if the inotify work would allow us to repeat that work less often.

sureshjoshi commented 1 month ago

FWIW automatic discovery by pants was also one of the (many) banes of my existence before scie-pants packaged and released its own Pythons. Everything worked pretty seamlessly since that happened.

Cleaning up the runtime interpreter for performance (and determinism across machines) would be nice, but also gotta be careful it's not a breaking change.

In my ideal world, Pants would always provide the tool that is required, with an escape hatch to use system tools, not the other way around 🤷🏽

huonw commented 1 month ago

Also related: "python providers" like pants.backend.python.providers.experimental.pyenv and pants.backend.python.providers.experimental.pyenv.custom_install and the WIP https://github.com/pantsbuild/pants/pull/19462