Spaces:
Sleeping
Sleeping
| import importlib | |
| from typing import List | |
| import ding | |
| from .default_helper import one_time_warning | |
| def try_import_ceph(): | |
| """ | |
| Overview: | |
| Try import ceph module, if failed, return ``None`` | |
| Returns: | |
| - (:obj:`Module`): Imported module, or ``None`` when ceph not found | |
| """ | |
| try: | |
| import ceph | |
| client = ceph.S3Client() | |
| return client | |
| except ModuleNotFoundError as e: | |
| try: | |
| from petrel_client.client import Client | |
| client = Client(conf_path='~/petreloss.conf') | |
| return client | |
| except ModuleNotFoundError as e: | |
| one_time_warning("You have not installed ceph package! DI-engine has changed to some alternatives.") | |
| ceph = None | |
| return ceph | |
| def try_import_mc(): | |
| """ | |
| Overview: | |
| Try import mc module, if failed, return ``None`` | |
| Returns: | |
| - (:obj:`Module`): Imported module, or ``None`` when mc not found | |
| """ | |
| try: | |
| import mc | |
| except ModuleNotFoundError as e: | |
| # one_time_warning("You have not installed memcache package! DI-engine has changed to some alternatives.") | |
| mc = None | |
| return mc | |
| def try_import_redis(): | |
| """ | |
| Overview: | |
| Try import redis module, if failed, return ``None`` | |
| Returns: | |
| - (:obj:`Module`): Imported module, or ``None`` when redis not found | |
| """ | |
| try: | |
| import redis | |
| except ModuleNotFoundError as e: | |
| one_time_warning("You have not installed redis package! DI-engine has changed to some alternatives.") | |
| redis = None | |
| return redis | |
| def try_import_rediscluster(): | |
| """ | |
| Overview: | |
| Try import rediscluster module, if failed, return ``None`` | |
| Returns: | |
| - (:obj:`Module`): Imported module, or ``None`` when rediscluster not found | |
| """ | |
| try: | |
| import rediscluster | |
| except ModuleNotFoundError as e: | |
| one_time_warning("You have not installed rediscluster package! DI-engine has changed to some alternatives.") | |
| rediscluster = None | |
| return rediscluster | |
| def try_import_link(): | |
| """ | |
| Overview: | |
| Try import linklink module, if failed, import ding.tests.fake_linklink instead | |
| Returns: | |
| - (:obj:`Module`): Imported module (may be ``fake_linklink``) | |
| """ | |
| if ding.enable_linklink: | |
| try: | |
| import linklink as link | |
| except ModuleNotFoundError as e: | |
| one_time_warning("You have not installed linklink package! DI-engine has changed to some alternatives.") | |
| from .fake_linklink import link | |
| else: | |
| from .fake_linklink import link | |
| return link | |
| def import_module(modules: List[str]) -> None: | |
| """ | |
| Overview: | |
| Import several module as a list | |
| Arguments: | |
| - (:obj:`str list`): List of module names | |
| """ | |
| for name in modules: | |
| importlib.import_module(name) | |