Subject: [PATCH] python: Prefer python3 over python

From: Collin Funk <[email-masked]>
Date: Thu, 20 Jun 2024 02:50:16 -0700

Hi,

Shouldn't AM_PATH_PYTHON check for the python3 command before python?
The full recommendation of how these should be setup is in PEP 394
[1].

On modern systems I don't think it should matter. On Fedora 40:

    $ command -v python
    /usr/bin/python
    $ command -v python3
    /usr/bin/python3
    $ python --version
    Python 3.12.3
    $ python3 --version
    Python 3.12.3

The difference mostly exists on older machines. On CentOS 7.9 for
example:

    $ command -v python
    /usr/bin/python
    $ command -v python3
    /usr/bin/python3
    $ python --version
    Python 2.7.5
    $ python3 --version
    Python 3.6.8

I've attached a proposed path. I don't see a situation where a
python3.* is installed without a python3 link. Therefore checking for
python3 and fallingback on python seems reasonable to me.

Collin

[1] https://peps.python.org/pep-0394/

From cd88a2461f0c89c2e70a7fc3a17058fb989313d4 Mon Sep 17 00:00:00 2001
From: Collin Funk <[email-masked]>
Date: Thu, 20 Jun 2024 02:26:52 -0700
Subject: [PATCH] python: Prefer python3 over python

* m4/python.m4 (AM_PATH_PYTHON): Check for python3 before python.
* NEWS: Document that python3 is used first.
---
 NEWS         | 2 +-
 m4/python.m4 | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/NEWS b/NEWS
index 77347e5a3..99c562f15 100644
--- a/NEWS
+++ b/NEWS
@@ -7,7 +7,7 @@ New in 1.17:
 
 * New features added
 
-  - AM_PATH_PYTHON will, after checking "python", prefer any Python 3
+  - AM_PATH_PYTHON will, after checking "python3", prefer any Python 3
     version (latest versions checked first) over any Python 2
     version. If a specific version of Python 2 is still needed, the
     $PYTHON variable should be set beforehand.
diff --git a/m4/python.m4 b/m4/python.m4
index 0b1db2689..21116e1a3 100644
--- a/m4/python.m4
+++ b/m4/python.m4
@@ -37,7 +37,7 @@ AC_DEFUN([AM_PATH_PYTHON]
   dnl Find a Python interpreter.  Python versions prior to 2.0 are not
   dnl supported. (2.0 was released on October 16, 2000).
   m4_define_default([_AM_PYTHON_INTERPRETER_LIST],
-[python python3 dnl
+[python3 python dnl
  python3.20 python3.19 python3.18 python3.17 python3.16 dnl
  python3.15 python3.14 python3.13 python3.12 python3.11 python3.10 dnl
  python3.9 python3.8 python3.7 python3.6 python3.5 python3.4 python3.3 dnl
-- 
2.45.2