Proposal: Extensive Python version support for Python plugin

Right now the python plugin does support configuration of the Python MAJOR version, but does not support hard-pinning of the Python version to MAJOR.MINOR.PATCH. From a Linux distro point of view this is the behavior users would expect. However from a application developer perspective (e.g. coming from dockerized applications) users usually want to hard-pin their Python runtime to a very specific version. Would be great if snapcraft would support this out of the box w.o. forcing users to implement this on their own over and over again. Related discussions:

Our plan to support this moving forward (=core20= onwards) was to offer
a more detailed python selection through the use of extensions. This of
course has not started.

Having a part that builds python and the actual code you intend to ship
in a part that runs =after= is the current alternative. While I have not
tried, I suspect that leveraging =pyenv= in this first part might just
work.

1 Like

Alright. Thanks for the info.