diff options
-rw-r--r-- | config/python.m4 | 13 | ||||
-rwxr-xr-x | configure | 9 | ||||
-rw-r--r-- | doc/src/sgml/installation.sgml | 3 |
3 files changed, 19 insertions, 6 deletions
diff --git a/config/python.m4 b/config/python.m4 index b95c8ed3b34..b8d5b890b22 100644 --- a/config/python.m4 +++ b/config/python.m4 @@ -6,10 +6,17 @@ # PGAC_PATH_PYTHON # ---------------- -# Look for Python and set the output variable 'PYTHON' -# to 'python' if found, empty otherwise. +# 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], -[AC_PATH_PROG(PYTHON, python) +[AC_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 7eab1f8f752..5aff38ce984 100755 --- a/configure +++ b/configure @@ -7598,8 +7598,10 @@ fi fi if test "$with_python" = yes; then - # Extract the first word of "python", so it can be a program name with args. -set dummy python; ac_word=$2 + 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 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_PYTHON+:} false; then : @@ -7638,6 +7640,9 @@ $as_echo "no" >&6; } fi + test -n "$PYTHON" && break +done + if test x"$PYTHON" = x""; then as_fn_error $? "Python not found" "$LINENO" 5 fi diff --git a/doc/src/sgml/installation.sgml b/doc/src/sgml/installation.sgml index d1bb729c685..e2079d37a99 100644 --- a/doc/src/sgml/installation.sgml +++ b/doc/src/sgml/installation.sgml @@ -1415,7 +1415,8 @@ su - postgres <![%standalone-include[the <application>PL/Python</> documentation]]> <![%standalone-ignore[<xref linkend="plpython-python23">]]> - for more information. + for more information. If this is not set, the following are probed + in this order: <literal>python python3 python2</literal>. </para> </listitem> </varlistentry> |