On 29/11/2018 16:34, Tom Lane wrote:
> After sleeping on it for awhile, I am liking the idea of probing
> python, python3, python2 (while keeping the $PYTHON override of
> course).

I think this was the option with the most support.  Here is a patch.

I agree we can backport this.

-- 
Peter Eisentraut              http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
From 4a04eb5ced0e6b3255d6d2044cd6699e459d7c28 Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <pe...@eisentraut.org>
Date: Thu, 3 Jan 2019 14:58:11 +0100
Subject: [PATCH] configure: Update python search order

Some systems don't ship with "python" by default anymore, only
"python3" or "python2" or some combination, so include those in the
configure search.

Discussion: 
https://www.postgresql.org/message-id/flat/1457.1543184081%40sss.pgh.pa.us#c9cc1199338fd6a257589c6dcea6cf8d
---
 config/python.m4 | 9 ++++++++-
 configure        | 2 +-
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/config/python.m4 b/config/python.m4
index 587bca99d5..9a4d12112e 100644
--- a/config/python.m4
+++ b/config/python.m4
@@ -8,8 +8,15 @@
 # ----------------
 # Look for Python and set the output variable 'PYTHON' if found,
 # fail otherwise.
+#
+# As the Python 3 transition happens and PEP 394 isn't updated, we
+# need to cater to systems that don't have unversioned "python" by
+# default.  Some systems ship with "python3" by default and perhaps
+# have "python" in an optional package.  Some systems only have
+# "python2" and "python3", in which case it's reasonable to prefer the
+# newer version.
 AC_DEFUN([PGAC_PATH_PYTHON],
-[PGAC_PATH_PROGS(PYTHON, python)
+[PGAC_PATH_PROGS(PYTHON, [python python3 python2])
 if test x"$PYTHON" = x""; then
   AC_MSG_ERROR([Python not found])
 fi
diff --git a/configure b/configure
index 79a18717d3..821964601d 100755
--- a/configure
+++ b/configure
@@ -9699,7 +9699,7 @@ fi
 
 if test "$with_python" = yes; then
   if test -z "$PYTHON"; then
-  for ac_prog in python
+  for ac_prog in python python3 python2
 do
   # Extract the first word of "$ac_prog", so it can be a program name with 
args.
 set dummy $ac_prog; ac_word=$2
-- 
2.20.1

Reply via email to