On Thu, Sep 1, 2016 at 8:40 AM, Neal Gompa <ngompa13@gmail.com> wrote:
Sure, but those scripts may not actually work because modules that are
supposed to be there, aren't. For example, if you depend on a
non-standard lib module, then that means it needs to be installed for
each python version supported. How do you expect to guarantee that?

Again, alternatives is only for things that operate functionally
identically. That's not even true between Python 2.6 and Python 2.7 if
they are installed in parallel because they can't use the same module
path. Likewise for Python 3.5 and 3.6.

You're essentially asking for unpredictable breakage.


I would argue what "/usr/bin/python" points to should be a user option and what is in the shebang line is a packager issues. As a user, I should be able to select whatever version of Python I want. As a packager, I should make sure my package will run with the correct version. This is easier when we're only talking about major versions, but we could add an rpm macro that would point to the minor version executable if there was a need.

Something like pythonmux might be useful in the shebang for this purpose, but "/usr/bin/python" shouldn't be linked to it.