5/9eQddlmZddlZddlmZmZddlmZddlm Z m Z ddl m Z m Z mZddlmZdd lmZdd lmZGd d eZdS) )absolute_importN)InstallationFailedExceptionPackageMissingError)WizardInstaller)MODULES_LOGS_DIRCL_SELECTOR_BIN)ExternalProgramFailedis_litespeed_runningget_passenger_package_name)installed_interpreters_list) get_ui_config)FeatureceZdZejedZej Z fdZ dZ dZ edZdZdZdZd Zed ZxZS) PythonInstallerz python.logcVtt|dS)N)superr__init__)self __class__s py/clwizard/modules/python.pyrzPythonInstaller.__init__ s% ot$$--/////cg}|D]0}d|ddz}||1|jdd| |j|dS#t $rtwxYw)zd Install given python versions :param versions: versions of python packages z alt-python.z/Try to install Python package with versions: %s,N)replaceappend app_loggerinfojoin_install_yum_groupsr r)rversionsgroupsv package_names r_install_python_versionsz(PythonInstaller._install_python_versions#s  ( (A'!))C*<*<Acb ddlm}n#t$rtdwxYw|dS)Nrget_default_version lvemanagerpython)clselect.clselectctlr2 ImportErrorrr1s r_get_python_default_versionz+PythonInstaller._get_python_default_versionDsV 4 @ @ @ @ @ @ @ 4 4 4%l33 3 4""8,,,s #c |jd| |tdddd|dgdS#t$rt wxYw)Nz,trying to set default python version as '%s'setz --interpreterr4z--default-version--json)rr r-r r r)rversions r_set_python_default_versionz+PythonInstaller._set_python_default_versionMs KWUUU 0   #Wh8 9 9 9 9 9% 0 0 0-// / 0s !AAc|toDt p5tdid S)a Check that python selector is ready to work All configurations were done: - passenger package is installed We always have python27 installed, so we do not need to check if at least one interpreter is installed If the config file does not exist, we ignore the uiSettings :return: already_configured status :rtype: bool uiSettings hidePythonApp)_is_package_installedr rget)rs r_is_already_configuredz&PythonInstaller._is_already_configuredWs`))*D*F*FGGM L$$\266::?KK K Mrcg}td}|D]#}|jr||j$|||d|ddS)Nr4)installed_versionsavailable_versionsdefault_version)already_configuredoptions)r installedrr;rB_get_available_versionsr7)rinstalled_python_versionsinterpreters_list interpreters rinitial_statuszPythonInstaller.initial_statusfs$&!7AA, F FK$ F)001DEEE"&"="="?"?&?&*&B&B8&L&L#'#C#C#E#E   rc|dg}|d}|r-||vr)|jd|t|||t r| |gdn#t$rtwxYw|r| |dSdS)Nr#rFzSVersion %s that specified to be set as default must be included in install_versions)zcloudlinux-configr9r:z<--data={"options": {"uiSettings": {"hidePythonApp": false}}}) rArerrorr_install_passengerr'r r/r-r r<)rrHinstall_versionsrFs rrun_installationz PythonInstaller.run_installationusB";;z266!++&788  06FFF O ! !78G I I I.// / !!! %%&6777  ! ! 3  0 0 2 2 2 0   ___ ` ` ` `$ 0 0 0-// / 0  >  , ,_ = = = = = > >s 'B??Cc ddhS)Nr#rF)clss rsupported_optionsz!PythonInstaller.supported_optionss-..r)__name__ __module__ __qualname__r*r+r!rLOG_FILErPYTHON_SELECTOR_REQUIRED_CL_COMPONENT_SUPPORTrr'r/ staticmethodr7r<rBrNrS classmethodrW __classcell__)rs@rrrsw||,l;;H%,%<"00000 0 0 0000$--\-000 M M M    >>>2//[/////rr) __future__rr*clwizard.exceptionsrrbaserclwizard.constantsrr clcommon.utilsr r r clwizard.utilsr clconfig.ui_config_librclcommon.constrrrUrrris'&&&&& "!!!!!@@@@@@@@ 766666000000""""""t/t/t/t/t/ot/t/t/t/t/r