@@ -277,22 +277,26 @@ function odoo_ensure_python_version {
277277 return 2; # Python interpreter is not available
278278 fi
279279
280- if [ -n " $ODOO_VERSION " ] && [ " $( odoo_get_major_version) " -eq 11 ]; then
280+ local odoo_major_ver;
281+ odoo_major_ver=$( odoo_get_major_version) ;
282+ if [ " $odoo_major_ver " -le 10 ]; then
283+ # Odoo 8-10: Python 2.7 only
284+ ${python_interpreter} -c " import sys; assert (2, 7) <= sys.version_info < (3,);" > /dev/null 2>&1 ;
285+ elif [ " $odoo_major_ver " -le 13 ]; then
286+ # Odoo 11-13: Python 3.6–3.8
281287 ${python_interpreter} -c " import sys; assert (3, 6) <= sys.version_info < (3, 9);" > /dev/null 2>&1 ;
282- elif [ -n " $ODOO_VERSION " ] && [ " $( odoo_get_major_version) " -eq 12 ]; then
283- ${python_interpreter} -c " import sys; assert (3, 6) <= sys.version_info < (3, 9);" > /dev/null 2>&1 ;
284- elif [ -n " $ODOO_VERSION " ] && [ " $( odoo_get_major_version) " -eq 13 ]; then
285- ${python_interpreter} -c " import sys; assert (3, 6) <= sys.version_info < (3, 10);" > /dev/null 2>&1 ;
286- elif [ -n " $ODOO_VERSION " ] && [ " $( odoo_get_major_version) " -eq 14 ]; then
288+ elif [ " $odoo_major_ver " -eq 14 ]; then
289+ # Odoo 14: Python 3.6–3.9
287290 ${python_interpreter} -c " import sys; assert (3, 6) <= sys.version_info < (3, 10);" > /dev/null 2>&1 ;
288- elif [ -n " $ODOO_VERSION " ] && [ " $( odoo_get_major_version) " -eq 15 ]; then
289- ${python_interpreter} -c " import sys; assert (3, 7) <= sys.version_info < (3, 11);" ;
290- elif [ -n " $ODOO_VERSION " ] && [ " $( odoo_get_major_version) " -eq 16 ]; then
291- ${python_interpreter} -c " import sys; assert (3, 7) <= sys.version_info < (3, 11);" ;
292- elif [ -n " $ODOO_VERSION " ] && [ " $( odoo_get_major_version) " -eq 17 ]; then
293- ${python_interpreter} -c " import sys; assert sys.version_info > (3, 10);" ;
294- elif [ -n " $ODOO_VERSION " ] && [ " $( odoo_get_major_version) " -eq 18 ]; then
295- ${python_interpreter} -c " import sys; assert sys.version_info > (3, 10);" ;
291+ elif [ " $odoo_major_ver " -le 16 ]; then
292+ # Odoo 15-16: Python 3.7–3.10
293+ ${python_interpreter} -c " import sys; assert (3, 7) <= sys.version_info < (3, 11);" > /dev/null 2>&1 ;
294+ elif [ " $odoo_major_ver " -eq 17 ]; then
295+ # Odoo 17: Python 3.10–3.11
296+ ${python_interpreter} -c " import sys; assert (3, 10) <= sys.version_info < (3, 12);" > /dev/null 2>&1 ;
297+ elif [ " $odoo_major_ver " -le 19 ]; then
298+ # Odoo 18-19: Python 3.10–3.12
299+ ${python_interpreter} -c " import sys; assert (3, 10) <= sys.version_info < (3, 13);" > /dev/null 2>&1 ;
296300 else
297301 echoe -e " ${REDC} ERROR${NC} : Automatic detection of python version for odoo ${ODOO_VERSION} is not supported!" ;
298302 return 1;
0 commit comments