D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
opt
/
alt
/
python37
/
lib
/
python3.7
/
site-packages
/
clselect
/
clselectpython
/
Filename :
python_manager.py
back
Copy
# 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)