| import time | |
| import pip | |
| from pip._internal import main as pipmain | |
| from common.log import _reset_logger, logger | |
| def install(package): | |
| pipmain(["install", package]) | |
| def install_requirements(file): | |
| pipmain(["install", "-r", file, "--upgrade"]) | |
| _reset_logger(logger) | |
| def check_dulwich(): | |
| needwait = False | |
| for i in range(2): | |
| if needwait: | |
| time.sleep(3) | |
| needwait = False | |
| try: | |
| import dulwich | |
| return | |
| except ImportError: | |
| try: | |
| install("dulwich") | |
| except: | |
| needwait = True | |
| try: | |
| import dulwich | |
| except ImportError: | |
| raise ImportError("Unable to import dulwich") | |