Viewing file: python_manager.py (1.51 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
# coding: utf-8
# Copyright © Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2019 All Rights Reserved # # Licensed under CLOUD LINUX LICENSE AGREEMENT # http://cloudlinux.com/docs/LICENSE.TXT
from __future__ import absolute_import from __future__ import print_function from __future__ import division import sys from clselect.baseclselect.selector_manager import BaseSelectorManager from clselect.utils import imunify_python_dependency from .config import PythonConfig from .pkgmanager import PkgManager
API_1 = 1
class PythonManager(BaseSelectorManager): """Responsible for actual python selector high-level API"""
def __init__(self, cfg=None, pkg=None): pkg = pkg or PkgManager() cfg = cfg or PythonConfig(pkg) #pylint: disable=E0110 super(PythonManager, self).__init__(cfg, pkg)
def uninstall_version(self, version: str): cur_system_version = f'{sys.version_info.major}.{sys.version_info.minor}' # TODO: in future releases remove 'legacy_system_version' # from 'system_versions' when all dependencies are updated to alt-python3.7 legacy_system_version = '2.7' system_versions = (cur_system_version, legacy_system_version) if version in system_versions or imunify_python_dependency(str(version)): return { 'result': 'success', 'warning': 'This Python version is used by system and cannot be removed' } return super(PythonManager, self).uninstall_version(version)
|