<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def python_executable_changed(self, pyexec):

 """Custom Python executable value has been changed"""

        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