code: def python_executable_changed(self, pyexec):
          
          if not self.cus_exec_radio.isChecked():
              return False
          def_pyexec = get_python_executable()
          if not is_text_string(pyexec):
              pyexec = to_text_string(pyexec.toUtf8(), 'utf-8')
          if pyexec == def_pyexec:
              return False
          if (not programs.is_python_interpreter(pyexec) or
                  not self.warn_python_compatibility(pyexec)):
              QMessageBox.warning(self, _('Warning'),
                      _("You selected an invalid Python interpreter for the "
                        "console so the previous interpreter will stay. Please "
                        "make sure to select a valid one."), QMessageBox.Ok)
              self.def_exec_radio.setChecked(True)
              return False
          return True
docs: Custom Python executable value has been changed